// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.30.0
// 	protoc        v4.23.4
// source: wandb/proto/wandb_telemetry.proto

package service

import (
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	reflect "reflect"
	sync "sync"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

// Telemetry
type TelemetryRecord struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	ImportsInit        *Imports `protobuf:"bytes,1,opt,name=imports_init,json=importsInit,proto3" json:"imports_init,omitempty"`
	ImportsFinish      *Imports `protobuf:"bytes,2,opt,name=imports_finish,json=importsFinish,proto3" json:"imports_finish,omitempty"`
	Feature            *Feature `protobuf:"bytes,3,opt,name=feature,proto3" json:"feature,omitempty"`
	PythonVersion      string   `protobuf:"bytes,4,opt,name=python_version,json=pythonVersion,proto3" json:"python_version,omitempty"`
	CliVersion         string   `protobuf:"bytes,5,opt,name=cli_version,json=cliVersion,proto3" json:"cli_version,omitempty"`
	HuggingfaceVersion string   `protobuf:"bytes,6,opt,name=huggingface_version,json=huggingfaceVersion,proto3" json:"huggingface_version,omitempty"`
	// string  framework = 7;
	Env         *Env         `protobuf:"bytes,8,opt,name=env,proto3" json:"env,omitempty"`
	Label       *Labels      `protobuf:"bytes,9,opt,name=label,proto3" json:"label,omitempty"`
	Deprecated  *Deprecated  `protobuf:"bytes,10,opt,name=deprecated,proto3" json:"deprecated,omitempty"`
	Issues      *Issues      `protobuf:"bytes,11,opt,name=issues,proto3" json:"issues,omitempty"`
	CoreVersion string       `protobuf:"bytes,12,opt,name=core_version,json=coreVersion,proto3" json:"core_version,omitempty"`
	Platform    string       `protobuf:"bytes,13,opt,name=platform,proto3" json:"platform,omitempty"`
	XInfo       *XRecordInfo `protobuf:"bytes,200,opt,name=_info,json=Info,proto3" json:"_info,omitempty"`
}

func (x *TelemetryRecord) Reset() {
	*x = TelemetryRecord{}
	if protoimpl.UnsafeEnabled {
		mi := &file_wandb_proto_wandb_telemetry_proto_msgTypes[0]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *TelemetryRecord) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TelemetryRecord) ProtoMessage() {}

func (x *TelemetryRecord) ProtoReflect() protoreflect.Message {
	mi := &file_wandb_proto_wandb_telemetry_proto_msgTypes[0]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use TelemetryRecord.ProtoReflect.Descriptor instead.
func (*TelemetryRecord) Descriptor() ([]byte, []int) {
	return file_wandb_proto_wandb_telemetry_proto_rawDescGZIP(), []int{0}
}

func (x *TelemetryRecord) GetImportsInit() *Imports {
	if x != nil {
		return x.ImportsInit
	}
	return nil
}

func (x *TelemetryRecord) GetImportsFinish() *Imports {
	if x != nil {
		return x.ImportsFinish
	}
	return nil
}

func (x *TelemetryRecord) GetFeature() *Feature {
	if x != nil {
		return x.Feature
	}
	return nil
}

func (x *TelemetryRecord) GetPythonVersion() string {
	if x != nil {
		return x.PythonVersion
	}
	return ""
}

func (x *TelemetryRecord) GetCliVersion() string {
	if x != nil {
		return x.CliVersion
	}
	return ""
}

func (x *TelemetryRecord) GetHuggingfaceVersion() string {
	if x != nil {
		return x.HuggingfaceVersion
	}
	return ""
}

func (x *TelemetryRecord) GetEnv() *Env {
	if x != nil {
		return x.Env
	}
	return nil
}

func (x *TelemetryRecord) GetLabel() *Labels {
	if x != nil {
		return x.Label
	}
	return nil
}

func (x *TelemetryRecord) GetDeprecated() *Deprecated {
	if x != nil {
		return x.Deprecated
	}
	return nil
}

func (x *TelemetryRecord) GetIssues() *Issues {
	if x != nil {
		return x.Issues
	}
	return nil
}

func (x *TelemetryRecord) GetCoreVersion() string {
	if x != nil {
		return x.CoreVersion
	}
	return ""
}

func (x *TelemetryRecord) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *TelemetryRecord) GetXInfo() *XRecordInfo {
	if x != nil {
		return x.XInfo
	}
	return nil
}

type TelemetryResult struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *TelemetryResult) Reset() {
	*x = TelemetryResult{}
	if protoimpl.UnsafeEnabled {
		mi := &file_wandb_proto_wandb_telemetry_proto_msgTypes[1]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *TelemetryResult) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TelemetryResult) ProtoMessage() {}

func (x *TelemetryResult) ProtoReflect() protoreflect.Message {
	mi := &file_wandb_proto_wandb_telemetry_proto_msgTypes[1]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use TelemetryResult.ProtoReflect.Descriptor instead.
func (*TelemetryResult) Descriptor() ([]byte, []int) {
	return file_wandb_proto_wandb_telemetry_proto_rawDescGZIP(), []int{1}
}

type Imports struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Torch            bool `protobuf:"varint,1,opt,name=torch,proto3" json:"torch,omitempty"`
	Keras            bool `protobuf:"varint,2,opt,name=keras,proto3" json:"keras,omitempty"`
	Tensorflow       bool `protobuf:"varint,3,opt,name=tensorflow,proto3" json:"tensorflow,omitempty"`
	Fastai           bool `protobuf:"varint,4,opt,name=fastai,proto3" json:"fastai,omitempty"`
	Sklearn          bool `protobuf:"varint,5,opt,name=sklearn,proto3" json:"sklearn,omitempty"`
	Xgboost          bool `protobuf:"varint,6,opt,name=xgboost,proto3" json:"xgboost,omitempty"`
	Catboost         bool `protobuf:"varint,7,opt,name=catboost,proto3" json:"catboost,omitempty"`
	Lightgbm         bool `protobuf:"varint,8,opt,name=lightgbm,proto3" json:"lightgbm,omitempty"`
	PytorchLightning bool `protobuf:"varint,9,opt,name=pytorch_lightning,json=pytorchLightning,proto3" json:"pytorch_lightning,omitempty"`
	Ignite           bool `protobuf:"varint,10,opt,name=ignite,proto3" json:"ignite,omitempty"`
	Transformers     bool `protobuf:"varint,11,opt,name=transformers,proto3" json:"transformers,omitempty"`
	Jax              bool `protobuf:"varint,12,opt,name=jax,proto3" json:"jax,omitempty"`
	Metaflow         bool `protobuf:"varint,13,opt,name=metaflow,proto3" json:"metaflow,omitempty"`
	Allennlp         bool `protobuf:"varint,14,opt,name=allennlp,proto3" json:"allennlp,omitempty"`
	Autogluon        bool `protobuf:"varint,15,opt,name=autogluon,proto3" json:"autogluon,omitempty"`
	Autokeras        bool `protobuf:"varint,16,opt,name=autokeras,proto3" json:"autokeras,omitempty"`
	// bool avalanche = 17;
	Catalyst bool `protobuf:"varint,18,opt,name=catalyst,proto3" json:"catalyst,omitempty"`
	// bool dalle_pytorch = 19;
	// bool datasets = 20;
	Deepchem bool `protobuf:"varint,21,opt,name=deepchem,proto3" json:"deepchem,omitempty"`
	Deepctr  bool `protobuf:"varint,22,opt,name=deepctr,proto3" json:"deepctr,omitempty"`
	// bool deeppavlov = 23;
	// bool detectron = 24;
	// bool paddle = 25;
	// bool parlai = 26;
	// bool prophet = 27;
	Pycaret                   bool `protobuf:"varint,28,opt,name=pycaret,proto3" json:"pycaret,omitempty"`
	Pytorchvideo              bool `protobuf:"varint,29,opt,name=pytorchvideo,proto3" json:"pytorchvideo,omitempty"`
	Ray                       bool `protobuf:"varint,30,opt,name=ray,proto3" json:"ray,omitempty"`
	Simpletransformers        bool `protobuf:"varint,31,opt,name=simpletransformers,proto3" json:"simpletransformers,omitempty"`
	Skorch                    bool `protobuf:"varint,32,opt,name=skorch,proto3" json:"skorch,omitempty"`
	Spacy                     bool `protobuf:"varint,33,opt,name=spacy,proto3" json:"spacy,omitempty"`
	Flash                     bool `protobuf:"varint,34,opt,name=flash,proto3" json:"flash,omitempty"`
	Optuna                    bool `protobuf:"varint,35,opt,name=optuna,proto3" json:"optuna,omitempty"`
	Recbole                   bool `protobuf:"varint,36,opt,name=recbole,proto3" json:"recbole,omitempty"`
	Mmcv                      bool `protobuf:"varint,37,opt,name=mmcv,proto3" json:"mmcv,omitempty"`
	Mmdet                     bool `protobuf:"varint,38,opt,name=mmdet,proto3" json:"mmdet,omitempty"`
	Torchdrug                 bool `protobuf:"varint,39,opt,name=torchdrug,proto3" json:"torchdrug,omitempty"`
	Torchtext                 bool `protobuf:"varint,40,opt,name=torchtext,proto3" json:"torchtext,omitempty"`
	Torchvision               bool `protobuf:"varint,41,opt,name=torchvision,proto3" json:"torchvision,omitempty"`
	Elegy                     bool `protobuf:"varint,42,opt,name=elegy,proto3" json:"elegy,omitempty"`
	Detectron2                bool `protobuf:"varint,43,opt,name=detectron2,proto3" json:"detectron2,omitempty"`
	Flair                     bool `protobuf:"varint,44,opt,name=flair,proto3" json:"flair,omitempty"`
	Flax                      bool `protobuf:"varint,45,opt,name=flax,proto3" json:"flax,omitempty"`
	Syft                      bool `protobuf:"varint,46,opt,name=syft,proto3" json:"syft,omitempty"`
	TTS                       bool `protobuf:"varint,47,opt,name=TTS,proto3" json:"TTS,omitempty"`
	Monai                     bool `protobuf:"varint,48,opt,name=monai,proto3" json:"monai,omitempty"`
	HuggingfaceHub            bool `protobuf:"varint,49,opt,name=huggingface_hub,json=huggingfaceHub,proto3" json:"huggingface_hub,omitempty"`
	Hydra                     bool `protobuf:"varint,50,opt,name=hydra,proto3" json:"hydra,omitempty"`
	Datasets                  bool `protobuf:"varint,51,opt,name=datasets,proto3" json:"datasets,omitempty"`
	Sacred                    bool `protobuf:"varint,52,opt,name=sacred,proto3" json:"sacred,omitempty"`
	Joblib                    bool `protobuf:"varint,53,opt,name=joblib,proto3" json:"joblib,omitempty"`
	Dask                      bool `protobuf:"varint,54,opt,name=dask,proto3" json:"dask,omitempty"`
	Asyncio                   bool `protobuf:"varint,55,opt,name=asyncio,proto3" json:"asyncio,omitempty"`
	Paddleocr                 bool `protobuf:"varint,56,opt,name=paddleocr,proto3" json:"paddleocr,omitempty"`
	Ppdet                     bool `protobuf:"varint,57,opt,name=ppdet,proto3" json:"ppdet,omitempty"`
	Paddleseg                 bool `protobuf:"varint,58,opt,name=paddleseg,proto3" json:"paddleseg,omitempty"`
	Paddlenlp                 bool `protobuf:"varint,59,opt,name=paddlenlp,proto3" json:"paddlenlp,omitempty"`
	Mmseg                     bool `protobuf:"varint,60,opt,name=mmseg,proto3" json:"mmseg,omitempty"`
	Mmocr                     bool `protobuf:"varint,61,opt,name=mmocr,proto3" json:"mmocr,omitempty"`
	Mmcls                     bool `protobuf:"varint,62,opt,name=mmcls,proto3" json:"mmcls,omitempty"`
	Timm                      bool `protobuf:"varint,63,opt,name=timm,proto3" json:"timm,omitempty"`
	Fairseq                   bool `protobuf:"varint,64,opt,name=fairseq,proto3" json:"fairseq,omitempty"`
	Deepchecks                bool `protobuf:"varint,65,opt,name=deepchecks,proto3" json:"deepchecks,omitempty"`
	Composer                  bool `protobuf:"varint,66,opt,name=composer,proto3" json:"composer,omitempty"`
	Sparseml                  bool `protobuf:"varint,67,opt,name=sparseml,proto3" json:"sparseml,omitempty"`
	Anomalib                  bool `protobuf:"varint,68,opt,name=anomalib,proto3" json:"anomalib,omitempty"`
	Zenml                     bool `protobuf:"varint,69,opt,name=zenml,proto3" json:"zenml,omitempty"`
	Colossalai                bool `protobuf:"varint,70,opt,name=colossalai,proto3" json:"colossalai,omitempty"`
	Accelerate                bool `protobuf:"varint,71,opt,name=accelerate,proto3" json:"accelerate,omitempty"`
	Merlin                    bool `protobuf:"varint,72,opt,name=merlin,proto3" json:"merlin,omitempty"`
	Nanodet                   bool `protobuf:"varint,73,opt,name=nanodet,proto3" json:"nanodet,omitempty"`
	SegmentationModelsPytorch bool `protobuf:"varint,74,opt,name=segmentation_models_pytorch,json=segmentationModelsPytorch,proto3" json:"segmentation_models_pytorch,omitempty"`
	SentenceTransformers      bool `protobuf:"varint,75,opt,name=sentence_transformers,json=sentenceTransformers,proto3" json:"sentence_transformers,omitempty"`
	Dgl                       bool `protobuf:"varint,76,opt,name=dgl,proto3" json:"dgl,omitempty"`
	TorchGeometric            bool `protobuf:"varint,77,opt,name=torch_geometric,json=torchGeometric,proto3" json:"torch_geometric,omitempty"`
	Jina                      bool `protobuf:"varint,78,opt,name=jina,proto3" json:"jina,omitempty"`
	Kornia                    bool `protobuf:"varint,79,opt,name=kornia,proto3" json:"kornia,omitempty"`
	Albumentations            bool `protobuf:"varint,80,opt,name=albumentations,proto3" json:"albumentations,omitempty"`
	KerasCv                   bool `protobuf:"varint,81,opt,name=keras_cv,json=kerasCv,proto3" json:"keras_cv,omitempty"`
	Mmengine                  bool `protobuf:"varint,82,opt,name=mmengine,proto3" json:"mmengine,omitempty"`
	Diffusers                 bool `protobuf:"varint,83,opt,name=diffusers,proto3" json:"diffusers,omitempty"`
	Trl                       bool `protobuf:"varint,84,opt,name=trl,proto3" json:"trl,omitempty"`
	Trlx                      bool `protobuf:"varint,85,opt,name=trlx,proto3" json:"trlx,omitempty"`
	Langchain                 bool `protobuf:"varint,86,opt,name=langchain,proto3" json:"langchain,omitempty"`
	LlamaIndex                bool `protobuf:"varint,87,opt,name=llama_index,json=llamaIndex,proto3" json:"llama_index,omitempty"`
	StabilitySdk              bool `protobuf:"varint,88,opt,name=stability_sdk,json=stabilitySdk,proto3" json:"stability_sdk,omitempty"`
	Prefect                   bool `protobuf:"varint,89,opt,name=prefect,proto3" json:"prefect,omitempty"`
	PrefectRay                bool `protobuf:"varint,90,opt,name=prefect_ray,json=prefectRay,proto3" json:"prefect_ray,omitempty"`
	Pinecone                  bool `protobuf:"varint,91,opt,name=pinecone,proto3" json:"pinecone,omitempty"` // pinecone-client
	Chromadb                  bool `protobuf:"varint,92,opt,name=chromadb,proto3" json:"chromadb,omitempty"`
	Weaviate                  bool `protobuf:"varint,93,opt,name=weaviate,proto3" json:"weaviate,omitempty"` // weaviate-client
	Promptlayer               bool `protobuf:"varint,94,opt,name=promptlayer,proto3" json:"promptlayer,omitempty"`
	Openai                    bool `protobuf:"varint,95,opt,name=openai,proto3" json:"openai,omitempty"`
	Cohere                    bool `protobuf:"varint,96,opt,name=cohere,proto3" json:"cohere,omitempty"`
	Anthropic                 bool `protobuf:"varint,97,opt,name=anthropic,proto3" json:"anthropic,omitempty"`
	Peft                      bool `protobuf:"varint,98,opt,name=peft,proto3" json:"peft,omitempty"`
	Optimum                   bool `protobuf:"varint,99,opt,name=optimum,proto3" json:"optimum,omitempty"`
	Evaluate                  bool `protobuf:"varint,100,opt,name=evaluate,proto3" json:"evaluate,omitempty"`
	Langflow                  bool `protobuf:"varint,101,opt,name=langflow,proto3" json:"langflow,omitempty"`
	KerasCore                 bool `protobuf:"varint,102,opt,name=keras_core,json=kerasCore,proto3" json:"keras_core,omitempty"`                               // keras-core
	LightningFabric           bool `protobuf:"varint,103,opt,name=lightning_fabric,json=lightningFabric,proto3" json:"lightning_fabric,omitempty"`             // lightning-fabric
	CuratedTransformers       bool `protobuf:"varint,104,opt,name=curated_transformers,json=curatedTransformers,proto3" json:"curated_transformers,omitempty"` // curated-transformers
	Orjson                    bool `protobuf:"varint,105,opt,name=orjson,proto3" json:"orjson,omitempty"`
}

func (x *Imports) Reset() {
	*x = Imports{}
	if protoimpl.UnsafeEnabled {
		mi := &file_wandb_proto_wandb_telemetry_proto_msgTypes[2]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Imports) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Imports) ProtoMessage() {}

func (x *Imports) ProtoReflect() protoreflect.Message {
	mi := &file_wandb_proto_wandb_telemetry_proto_msgTypes[2]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Imports.ProtoReflect.Descriptor instead.
func (*Imports) Descriptor() ([]byte, []int) {
	return file_wandb_proto_wandb_telemetry_proto_rawDescGZIP(), []int{2}
}

func (x *Imports) GetTorch() bool {
	if x != nil {
		return x.Torch
	}
	return false
}

func (x *Imports) GetKeras() bool {
	if x != nil {
		return x.Keras
	}
	return false
}

func (x *Imports) GetTensorflow() bool {
	if x != nil {
		return x.Tensorflow
	}
	return false
}

func (x *Imports) GetFastai() bool {
	if x != nil {
		return x.Fastai
	}
	return false
}

func (x *Imports) GetSklearn() bool {
	if x != nil {
		return x.Sklearn
	}
	return false
}

func (x *Imports) GetXgboost() bool {
	if x != nil {
		return x.Xgboost
	}
	return false
}

func (x *Imports) GetCatboost() bool {
	if x != nil {
		return x.Catboost
	}
	return false
}

func (x *Imports) GetLightgbm() bool {
	if x != nil {
		return x.Lightgbm
	}
	return false
}

func (x *Imports) GetPytorchLightning() bool {
	if x != nil {
		return x.PytorchLightning
	}
	return false
}

func (x *Imports) GetIgnite() bool {
	if x != nil {
		return x.Ignite
	}
	return false
}

func (x *Imports) GetTransformers() bool {
	if x != nil {
		return x.Transformers
	}
	return false
}

func (x *Imports) GetJax() bool {
	if x != nil {
		return x.Jax
	}
	return false
}

func (x *Imports) GetMetaflow() bool {
	if x != nil {
		return x.Metaflow
	}
	return false
}

func (x *Imports) GetAllennlp() bool {
	if x != nil {
		return x.Allennlp
	}
	return false
}

func (x *Imports) GetAutogluon() bool {
	if x != nil {
		return x.Autogluon
	}
	return false
}

func (x *Imports) GetAutokeras() bool {
	if x != nil {
		return x.Autokeras
	}
	return false
}

func (x *Imports) GetCatalyst() bool {
	if x != nil {
		return x.Catalyst
	}
	return false
}

func (x *Imports) GetDeepchem() bool {
	if x != nil {
		return x.Deepchem
	}
	return false
}

func (x *Imports) GetDeepctr() bool {
	if x != nil {
		return x.Deepctr
	}
	return false
}

func (x *Imports) GetPycaret() bool {
	if x != nil {
		return x.Pycaret
	}
	return false
}

func (x *Imports) GetPytorchvideo() bool {
	if x != nil {
		return x.Pytorchvideo
	}
	return false
}

func (x *Imports) GetRay() bool {
	if x != nil {
		return x.Ray
	}
	return false
}

func (x *Imports) GetSimpletransformers() bool {
	if x != nil {
		return x.Simpletransformers
	}
	return false
}

func (x *Imports) GetSkorch() bool {
	if x != nil {
		return x.Skorch
	}
	return false
}

func (x *Imports) GetSpacy() bool {
	if x != nil {
		return x.Spacy
	}
	return false
}

func (x *Imports) GetFlash() bool {
	if x != nil {
		return x.Flash
	}
	return false
}

func (x *Imports) GetOptuna() bool {
	if x != nil {
		return x.Optuna
	}
	return false
}

func (x *Imports) GetRecbole() bool {
	if x != nil {
		return x.Recbole
	}
	return false
}

func (x *Imports) GetMmcv() bool {
	if x != nil {
		return x.Mmcv
	}
	return false
}

func (x *Imports) GetMmdet() bool {
	if x != nil {
		return x.Mmdet
	}
	return false
}

func (x *Imports) GetTorchdrug() bool {
	if x != nil {
		return x.Torchdrug
	}
	return false
}

func (x *Imports) GetTorchtext() bool {
	if x != nil {
		return x.Torchtext
	}
	return false
}

func (x *Imports) GetTorchvision() bool {
	if x != nil {
		return x.Torchvision
	}
	return false
}

func (x *Imports) GetElegy() bool {
	if x != nil {
		return x.Elegy
	}
	return false
}

func (x *Imports) GetDetectron2() bool {
	if x != nil {
		return x.Detectron2
	}
	return false
}

func (x *Imports) GetFlair() bool {
	if x != nil {
		return x.Flair
	}
	return false
}

func (x *Imports) GetFlax() bool {
	if x != nil {
		return x.Flax
	}
	return false
}

func (x *Imports) GetSyft() bool {
	if x != nil {
		return x.Syft
	}
	return false
}

func (x *Imports) GetTTS() bool {
	if x != nil {
		return x.TTS
	}
	return false
}

func (x *Imports) GetMonai() bool {
	if x != nil {
		return x.Monai
	}
	return false
}

func (x *Imports) GetHuggingfaceHub() bool {
	if x != nil {
		return x.HuggingfaceHub
	}
	return false
}

func (x *Imports) GetHydra() bool {
	if x != nil {
		return x.Hydra
	}
	return false
}

func (x *Imports) GetDatasets() bool {
	if x != nil {
		return x.Datasets
	}
	return false
}

func (x *Imports) GetSacred() bool {
	if x != nil {
		return x.Sacred
	}
	return false
}

func (x *Imports) GetJoblib() bool {
	if x != nil {
		return x.Joblib
	}
	return false
}

func (x *Imports) GetDask() bool {
	if x != nil {
		return x.Dask
	}
	return false
}

func (x *Imports) GetAsyncio() bool {
	if x != nil {
		return x.Asyncio
	}
	return false
}

func (x *Imports) GetPaddleocr() bool {
	if x != nil {
		return x.Paddleocr
	}
	return false
}

func (x *Imports) GetPpdet() bool {
	if x != nil {
		return x.Ppdet
	}
	return false
}

func (x *Imports) GetPaddleseg() bool {
	if x != nil {
		return x.Paddleseg
	}
	return false
}

func (x *Imports) GetPaddlenlp() bool {
	if x != nil {
		return x.Paddlenlp
	}
	return false
}

func (x *Imports) GetMmseg() bool {
	if x != nil {
		return x.Mmseg
	}
	return false
}

func (x *Imports) GetMmocr() bool {
	if x != nil {
		return x.Mmocr
	}
	return false
}

func (x *Imports) GetMmcls() bool {
	if x != nil {
		return x.Mmcls
	}
	return false
}

func (x *Imports) GetTimm() bool {
	if x != nil {
		return x.Timm
	}
	return false
}

func (x *Imports) GetFairseq() bool {
	if x != nil {
		return x.Fairseq
	}
	return false
}

func (x *Imports) GetDeepchecks() bool {
	if x != nil {
		return x.Deepchecks
	}
	return false
}

func (x *Imports) GetComposer() bool {
	if x != nil {
		return x.Composer
	}
	return false
}

func (x *Imports) GetSparseml() bool {
	if x != nil {
		return x.Sparseml
	}
	return false
}

func (x *Imports) GetAnomalib() bool {
	if x != nil {
		return x.Anomalib
	}
	return false
}

func (x *Imports) GetZenml() bool {
	if x != nil {
		return x.Zenml
	}
	return false
}

func (x *Imports) GetColossalai() bool {
	if x != nil {
		return x.Colossalai
	}
	return false
}

func (x *Imports) GetAccelerate() bool {
	if x != nil {
		return x.Accelerate
	}
	return false
}

func (x *Imports) GetMerlin() bool {
	if x != nil {
		return x.Merlin
	}
	return false
}

func (x *Imports) GetNanodet() bool {
	if x != nil {
		return x.Nanodet
	}
	return false
}

func (x *Imports) GetSegmentationModelsPytorch() bool {
	if x != nil {
		return x.SegmentationModelsPytorch
	}
	return false
}

func (x *Imports) GetSentenceTransformers() bool {
	if x != nil {
		return x.SentenceTransformers
	}
	return false
}

func (x *Imports) GetDgl() bool {
	if x != nil {
		return x.Dgl
	}
	return false
}

func (x *Imports) GetTorchGeometric() bool {
	if x != nil {
		return x.TorchGeometric
	}
	return false
}

func (x *Imports) GetJina() bool {
	if x != nil {
		return x.Jina
	}
	return false
}

func (x *Imports) GetKornia() bool {
	if x != nil {
		return x.Kornia
	}
	return false
}

func (x *Imports) GetAlbumentations() bool {
	if x != nil {
		return x.Albumentations
	}
	return false
}

func (x *Imports) GetKerasCv() bool {
	if x != nil {
		return x.KerasCv
	}
	return false
}

func (x *Imports) GetMmengine() bool {
	if x != nil {
		return x.Mmengine
	}
	return false
}

func (x *Imports) GetDiffusers() bool {
	if x != nil {
		return x.Diffusers
	}
	return false
}

func (x *Imports) GetTrl() bool {
	if x != nil {
		return x.Trl
	}
	return false
}

func (x *Imports) GetTrlx() bool {
	if x != nil {
		return x.Trlx
	}
	return false
}

func (x *Imports) GetLangchain() bool {
	if x != nil {
		return x.Langchain
	}
	return false
}

func (x *Imports) GetLlamaIndex() bool {
	if x != nil {
		return x.LlamaIndex
	}
	return false
}

func (x *Imports) GetStabilitySdk() bool {
	if x != nil {
		return x.StabilitySdk
	}
	return false
}

func (x *Imports) GetPrefect() bool {
	if x != nil {
		return x.Prefect
	}
	return false
}

func (x *Imports) GetPrefectRay() bool {
	if x != nil {
		return x.PrefectRay
	}
	return false
}

func (x *Imports) GetPinecone() bool {
	if x != nil {
		return x.Pinecone
	}
	return false
}

func (x *Imports) GetChromadb() bool {
	if x != nil {
		return x.Chromadb
	}
	return false
}

func (x *Imports) GetWeaviate() bool {
	if x != nil {
		return x.Weaviate
	}
	return false
}

func (x *Imports) GetPromptlayer() bool {
	if x != nil {
		return x.Promptlayer
	}
	return false
}

func (x *Imports) GetOpenai() bool {
	if x != nil {
		return x.Openai
	}
	return false
}

func (x *Imports) GetCohere() bool {
	if x != nil {
		return x.Cohere
	}
	return false
}

func (x *Imports) GetAnthropic() bool {
	if x != nil {
		return x.Anthropic
	}
	return false
}

func (x *Imports) GetPeft() bool {
	if x != nil {
		return x.Peft
	}
	return false
}

func (x *Imports) GetOptimum() bool {
	if x != nil {
		return x.Optimum
	}
	return false
}

func (x *Imports) GetEvaluate() bool {
	if x != nil {
		return x.Evaluate
	}
	return false
}

func (x *Imports) GetLangflow() bool {
	if x != nil {
		return x.Langflow
	}
	return false
}

func (x *Imports) GetKerasCore() bool {
	if x != nil {
		return x.KerasCore
	}
	return false
}

func (x *Imports) GetLightningFabric() bool {
	if x != nil {
		return x.LightningFabric
	}
	return false
}

func (x *Imports) GetCuratedTransformers() bool {
	if x != nil {
		return x.CuratedTransformers
	}
	return false
}

func (x *Imports) GetOrjson() bool {
	if x != nil {
		return x.Orjson
	}
	return false
}

type Feature struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Watch               bool `protobuf:"varint,1,opt,name=watch,proto3" json:"watch,omitempty"`                                                         // wandb.watch() called
	Finish              bool `protobuf:"varint,2,opt,name=finish,proto3" json:"finish,omitempty"`                                                       // wandb.finish() called
	Save                bool `protobuf:"varint,3,opt,name=save,proto3" json:"save,omitempty"`                                                           // wandb.save() called
	Offline             bool `protobuf:"varint,4,opt,name=offline,proto3" json:"offline,omitempty"`                                                     // offline run was synced
	Resumed             bool `protobuf:"varint,5,opt,name=resumed,proto3" json:"resumed,omitempty"`                                                     // run was resumed
	Grpc                bool `protobuf:"varint,6,opt,name=grpc,proto3" json:"grpc,omitempty"`                                                           // grpc-server (java integration)
	Metric              bool `protobuf:"varint,7,opt,name=metric,proto3" json:"metric,omitempty"`                                                       // define_metric() called
	Keras               bool `protobuf:"varint,8,opt,name=keras,proto3" json:"keras,omitempty"`                                                         // Keras WandbCallback used
	Sagemaker           bool `protobuf:"varint,9,opt,name=sagemaker,proto3" json:"sagemaker,omitempty"`                                                 // User is using sagemaker
	ArtifactIncremental bool `protobuf:"varint,10,opt,name=artifact_incremental,json=artifactIncremental,proto3" json:"artifact_incremental,omitempty"` // Artifact(incremental=True) used
	Metaflow            bool `protobuf:"varint,11,opt,name=metaflow,proto3" json:"metaflow,omitempty"`                                                  // Using metaflow integration
	Prodigy             bool `protobuf:"varint,12,opt,name=prodigy,proto3" json:"prodigy,omitempty"`                                                    // Using prodigy integration
	SetInitName         bool `protobuf:"varint,13,opt,name=set_init_name,json=setInitName,proto3" json:"set_init_name,omitempty"`                       // users set run name from wandb.init
	SetInitId           bool `protobuf:"varint,14,opt,name=set_init_id,json=setInitId,proto3" json:"set_init_id,omitempty"`                             // users set run id from wandb.init
	SetInitTags         bool `protobuf:"varint,15,opt,name=set_init_tags,json=setInitTags,proto3" json:"set_init_tags,omitempty"`                       // users set tags within wandb.init
	SetInitConfig       bool `protobuf:"varint,16,opt,name=set_init_config,json=setInitConfig,proto3" json:"set_init_config,omitempty"`                 // users set run config in wandb.init
	SetRunName          bool `protobuf:"varint,17,opt,name=set_run_name,json=setRunName,proto3" json:"set_run_name,omitempty"`                          // user sets run name via wandb.run.name = ...
	SetRunTags          bool `protobuf:"varint,18,opt,name=set_run_tags,json=setRunTags,proto3" json:"set_run_tags,omitempty"`                          // user sets run name via wandb.run.tags = ...
	SetConfigItem       bool `protobuf:"varint,19,opt,name=set_config_item,json=setConfigItem,proto3" json:"set_config_item,omitempty"`                 // users set key in run config via run.config.key
	// or run.config["key"]
	Launch                  bool `protobuf:"varint,20,opt,name=launch,proto3" json:"launch,omitempty"`                                                                      // run is created through wandb launch
	TorchProfilerTrace      bool `protobuf:"varint,21,opt,name=torch_profiler_trace,json=torchProfilerTrace,proto3" json:"torch_profiler_trace,omitempty"`                  // wandb.profiler.torch_trace_handler() called
	Sb3                     bool `protobuf:"varint,22,opt,name=sb3,proto3" json:"sb3,omitempty"`                                                                            // Using stable_baselines3 integration
	Service                 bool `protobuf:"varint,23,opt,name=service,proto3" json:"service,omitempty"`                                                                    // Using wandb service internal process
	InitReturnRun           bool `protobuf:"varint,24,opt,name=init_return_run,json=initReturnRun,proto3" json:"init_return_run,omitempty"`                                 // wandb.init() called in the same process returning previous run
	LightgbmWandbCallback   bool `protobuf:"varint,25,opt,name=lightgbm_wandb_callback,json=lightgbmWandbCallback,proto3" json:"lightgbm_wandb_callback,omitempty"`         // lightgbm callback used
	LightgbmLogSummary      bool `protobuf:"varint,26,opt,name=lightgbm_log_summary,json=lightgbmLogSummary,proto3" json:"lightgbm_log_summary,omitempty"`                  // lightgbm log summary used
	CatboostWandbCallback   bool `protobuf:"varint,27,opt,name=catboost_wandb_callback,json=catboostWandbCallback,proto3" json:"catboost_wandb_callback,omitempty"`         // catboost callback used
	CatboostLogSummary      bool `protobuf:"varint,28,opt,name=catboost_log_summary,json=catboostLogSummary,proto3" json:"catboost_log_summary,omitempty"`                  // catboost log summary used
	TensorboardLog          bool `protobuf:"varint,29,opt,name=tensorboard_log,json=tensorboardLog,proto3" json:"tensorboard_log,omitempty"`                                // wandb.tensorflow.log or wandb.tensorboard.log used
	EstimatorHook           bool `protobuf:"varint,30,opt,name=estimator_hook,json=estimatorHook,proto3" json:"estimator_hook,omitempty"`                                   // wandb.tensorflow.WandbHook used
	XgboostWandbCallback    bool `protobuf:"varint,31,opt,name=xgboost_wandb_callback,json=xgboostWandbCallback,proto3" json:"xgboost_wandb_callback,omitempty"`            // xgboost callback used
	XgboostOldWandbCallback bool `protobuf:"varint,32,opt,name=xgboost_old_wandb_callback,json=xgboostOldWandbCallback,proto3" json:"xgboost_old_wandb_callback,omitempty"` // xgboost old callback used (to be depreciated)
	Attach                  bool `protobuf:"varint,33,opt,name=attach,proto3" json:"attach,omitempty"`                                                                      // attach to a run in another process
	TensorboardPatch        bool `protobuf:"varint,34,opt,name=tensorboard_patch,json=tensorboardPatch,proto3" json:"tensorboard_patch,omitempty"`                          // wandb.tensorboard.patch(...)
	TensorboardSync         bool `protobuf:"varint,35,opt,name=tensorboard_sync,json=tensorboardSync,proto3" json:"tensorboard_sync,omitempty"`                             // wandb.init(sync_tensorboard=True)
	KfpWandbLog             bool `protobuf:"varint,36,opt,name=kfp_wandb_log,json=kfpWandbLog,proto3" json:"kfp_wandb_log,omitempty"`                                       // wandb.integration.kfp.wandb_log
	MaybeRunOverwrite       bool `protobuf:"varint,37,opt,name=maybe_run_overwrite,json=maybeRunOverwrite,proto3" json:"maybe_run_overwrite,omitempty"`                     // Run might have been overwritten
	KerasMetricsLogger      bool `protobuf:"varint,38,opt,name=keras_metrics_logger,json=kerasMetricsLogger,proto3" json:"keras_metrics_logger,omitempty"`                  // Keras WandbMetricsLogger used
	KerasModelCheckpoint    bool `protobuf:"varint,39,opt,name=keras_model_checkpoint,json=kerasModelCheckpoint,proto3" json:"keras_model_checkpoint,omitempty"`            // Keras WandbModelCheckpoint used
	KerasWandbEvalCallback  bool `protobuf:"varint,40,opt,name=keras_wandb_eval_callback,json=kerasWandbEvalCallback,proto3" json:"keras_wandb_eval_callback,omitempty"`    // Keras WandbEvalCallback used
	FlowControlOverflow     bool `protobuf:"varint,41,opt,name=flow_control_overflow,json=flowControlOverflow,proto3" json:"flow_control_overflow,omitempty"`               // Hit flow control threshold
	Sync                    bool `protobuf:"varint,42,opt,name=sync,proto3" json:"sync,omitempty"`                                                                          // Run was synced with wandb sync
	FlowControlDisabled     bool `protobuf:"varint,43,opt,name=flow_control_disabled,json=flowControlDisabled,proto3" json:"flow_control_disabled,omitempty"`               // Flow control disabled by user
	FlowControlCustom       bool `protobuf:"varint,44,opt,name=flow_control_custom,json=flowControlCustom,proto3" json:"flow_control_custom,omitempty"`                     // Flow control customized by user
	ServiceDisabled         bool `protobuf:"varint,45,opt,name=service_disabled,json=serviceDisabled,proto3" json:"service_disabled,omitempty"`                             // Service disabled by user
	OpenMetrics             bool `protobuf:"varint,46,opt,name=open_metrics,json=openMetrics,proto3" json:"open_metrics,omitempty"`                                         // Consuming metrics from an OpenMetrics endpoint
	UltralyticsYolov8       bool `protobuf:"varint,47,opt,name=ultralytics_yolov8,json=ultralyticsYolov8,proto3" json:"ultralytics_yolov8,omitempty"`                       // Ultralytics YOLOv8 integration callbacks used
	ImporterMlflow          bool `protobuf:"varint,48,opt,name=importer_mlflow,json=importerMlflow,proto3" json:"importer_mlflow,omitempty"`                                // Using Import API for MLFlow
	SyncTfevents            bool `protobuf:"varint,49,opt,name=sync_tfevents,json=syncTfevents,proto3" json:"sync_tfevents,omitempty"`                                      // Using wandb sync for tfevent files
	AsyncUploads            bool `protobuf:"varint,50,opt,name=async_uploads,json=asyncUploads,proto3" json:"async_uploads,omitempty"`                                      // Async file uploads enabled by user
	OpenaiAutolog           bool `protobuf:"varint,51,opt,name=openai_autolog,json=openaiAutolog,proto3" json:"openai_autolog,omitempty"`                                   // OpenAI autolog used
	LangchainTracer         bool `protobuf:"varint,52,opt,name=langchain_tracer,json=langchainTracer,proto3" json:"langchain_tracer,omitempty"`                             // Langchain wandb tracer callback used
	CohereAutolog           bool `protobuf:"varint,53,opt,name=cohere_autolog,json=cohereAutolog,proto3" json:"cohere_autolog,omitempty"`                                   // Cohere autolog used
	HfPipelineAutolog       bool `protobuf:"varint,54,opt,name=hf_pipeline_autolog,json=hfPipelineAutolog,proto3" json:"hf_pipeline_autolog,omitempty"`                     // HuggingFace Autologging
	Core                    bool `protobuf:"varint,55,opt,name=core,proto3" json:"core,omitempty"`                                                                          // Using wandb core internal process
	LibC                    bool `protobuf:"varint,56,opt,name=lib_c,json=libC,proto3" json:"lib_c,omitempty"`                                                              // Using c wandb library
	LibCpp                  bool `protobuf:"varint,57,opt,name=lib_cpp,json=libCpp,proto3" json:"lib_cpp,omitempty"`                                                        // Using cpp wandb library
	OpenaiFinetuning        bool `protobuf:"varint,58,opt,name=openai_finetuning,json=openaiFinetuning,proto3" json:"openai_finetuning,omitempty"`                          // Using openai finetuning WandbLogger
	DiffusersAutolog        bool `protobuf:"varint,59,opt,name=diffusers_autolog,json=diffusersAutolog,proto3" json:"diffusers_autolog,omitempty"`                          // Using Diffusers autologger
	LightningFabricLogger   bool `protobuf:"varint,60,opt,name=lightning_fabric_logger,json=lightningFabricLogger,proto3" json:"lightning_fabric_logger,omitempty"`         // Using Lightning Fabric logger
}

func (x *Feature) Reset() {
	*x = Feature{}
	if protoimpl.UnsafeEnabled {
		mi := &file_wandb_proto_wandb_telemetry_proto_msgTypes[3]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Feature) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Feature) ProtoMessage() {}

func (x *Feature) ProtoReflect() protoreflect.Message {
	mi := &file_wandb_proto_wandb_telemetry_proto_msgTypes[3]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Feature.ProtoReflect.Descriptor instead.
func (*Feature) Descriptor() ([]byte, []int) {
	return file_wandb_proto_wandb_telemetry_proto_rawDescGZIP(), []int{3}
}

func (x *Feature) GetWatch() bool {
	if x != nil {
		return x.Watch
	}
	return false
}

func (x *Feature) GetFinish() bool {
	if x != nil {
		return x.Finish
	}
	return false
}

func (x *Feature) GetSave() bool {
	if x != nil {
		return x.Save
	}
	return false
}

func (x *Feature) GetOffline() bool {
	if x != nil {
		return x.Offline
	}
	return false
}

func (x *Feature) GetResumed() bool {
	if x != nil {
		return x.Resumed
	}
	return false
}

func (x *Feature) GetGrpc() bool {
	if x != nil {
		return x.Grpc
	}
	return false
}

func (x *Feature) GetMetric() bool {
	if x != nil {
		return x.Metric
	}
	return false
}

func (x *Feature) GetKeras() bool {
	if x != nil {
		return x.Keras
	}
	return false
}

func (x *Feature) GetSagemaker() bool {
	if x != nil {
		return x.Sagemaker
	}
	return false
}

func (x *Feature) GetArtifactIncremental() bool {
	if x != nil {
		return x.ArtifactIncremental
	}
	return false
}

func (x *Feature) GetMetaflow() bool {
	if x != nil {
		return x.Metaflow
	}
	return false
}

func (x *Feature) GetProdigy() bool {
	if x != nil {
		return x.Prodigy
	}
	return false
}

func (x *Feature) GetSetInitName() bool {
	if x != nil {
		return x.SetInitName
	}
	return false
}

func (x *Feature) GetSetInitId() bool {
	if x != nil {
		return x.SetInitId
	}
	return false
}

func (x *Feature) GetSetInitTags() bool {
	if x != nil {
		return x.SetInitTags
	}
	return false
}

func (x *Feature) GetSetInitConfig() bool {
	if x != nil {
		return x.SetInitConfig
	}
	return false
}

func (x *Feature) GetSetRunName() bool {
	if x != nil {
		return x.SetRunName
	}
	return false
}

func (x *Feature) GetSetRunTags() bool {
	if x != nil {
		return x.SetRunTags
	}
	return false
}

func (x *Feature) GetSetConfigItem() bool {
	if x != nil {
		return x.SetConfigItem
	}
	return false
}

func (x *Feature) GetLaunch() bool {
	if x != nil {
		return x.Launch
	}
	return false
}

func (x *Feature) GetTorchProfilerTrace() bool {
	if x != nil {
		return x.TorchProfilerTrace
	}
	return false
}

func (x *Feature) GetSb3() bool {
	if x != nil {
		return x.Sb3
	}
	return false
}

func (x *Feature) GetService() bool {
	if x != nil {
		return x.Service
	}
	return false
}

func (x *Feature) GetInitReturnRun() bool {
	if x != nil {
		return x.InitReturnRun
	}
	return false
}

func (x *Feature) GetLightgbmWandbCallback() bool {
	if x != nil {
		return x.LightgbmWandbCallback
	}
	return false
}

func (x *Feature) GetLightgbmLogSummary() bool {
	if x != nil {
		return x.LightgbmLogSummary
	}
	return false
}

func (x *Feature) GetCatboostWandbCallback() bool {
	if x != nil {
		return x.CatboostWandbCallback
	}
	return false
}

func (x *Feature) GetCatboostLogSummary() bool {
	if x != nil {
		return x.CatboostLogSummary
	}
	return false
}

func (x *Feature) GetTensorboardLog() bool {
	if x != nil {
		return x.TensorboardLog
	}
	return false
}

func (x *Feature) GetEstimatorHook() bool {
	if x != nil {
		return x.EstimatorHook
	}
	return false
}

func (x *Feature) GetXgboostWandbCallback() bool {
	if x != nil {
		return x.XgboostWandbCallback
	}
	return false
}

func (x *Feature) GetXgboostOldWandbCallback() bool {
	if x != nil {
		return x.XgboostOldWandbCallback
	}
	return false
}

func (x *Feature) GetAttach() bool {
	if x != nil {
		return x.Attach
	}
	return false
}

func (x *Feature) GetTensorboardPatch() bool {
	if x != nil {
		return x.TensorboardPatch
	}
	return false
}

func (x *Feature) GetTensorboardSync() bool {
	if x != nil {
		return x.TensorboardSync
	}
	return false
}

func (x *Feature) GetKfpWandbLog() bool {
	if x != nil {
		return x.KfpWandbLog
	}
	return false
}

func (x *Feature) GetMaybeRunOverwrite() bool {
	if x != nil {
		return x.MaybeRunOverwrite
	}
	return false
}

func (x *Feature) GetKerasMetricsLogger() bool {
	if x != nil {
		return x.KerasMetricsLogger
	}
	return false
}

func (x *Feature) GetKerasModelCheckpoint() bool {
	if x != nil {
		return x.KerasModelCheckpoint
	}
	return false
}

func (x *Feature) GetKerasWandbEvalCallback() bool {
	if x != nil {
		return x.KerasWandbEvalCallback
	}
	return false
}

func (x *Feature) GetFlowControlOverflow() bool {
	if x != nil {
		return x.FlowControlOverflow
	}
	return false
}

func (x *Feature) GetSync() bool {
	if x != nil {
		return x.Sync
	}
	return false
}

func (x *Feature) GetFlowControlDisabled() bool {
	if x != nil {
		return x.FlowControlDisabled
	}
	return false
}

func (x *Feature) GetFlowControlCustom() bool {
	if x != nil {
		return x.FlowControlCustom
	}
	return false
}

func (x *Feature) GetServiceDisabled() bool {
	if x != nil {
		return x.ServiceDisabled
	}
	return false
}

func (x *Feature) GetOpenMetrics() bool {
	if x != nil {
		return x.OpenMetrics
	}
	return false
}

func (x *Feature) GetUltralyticsYolov8() bool {
	if x != nil {
		return x.UltralyticsYolov8
	}
	return false
}

func (x *Feature) GetImporterMlflow() bool {
	if x != nil {
		return x.ImporterMlflow
	}
	return false
}

func (x *Feature) GetSyncTfevents() bool {
	if x != nil {
		return x.SyncTfevents
	}
	return false
}

func (x *Feature) GetAsyncUploads() bool {
	if x != nil {
		return x.AsyncUploads
	}
	return false
}

func (x *Feature) GetOpenaiAutolog() bool {
	if x != nil {
		return x.OpenaiAutolog
	}
	return false
}

func (x *Feature) GetLangchainTracer() bool {
	if x != nil {
		return x.LangchainTracer
	}
	return false
}

func (x *Feature) GetCohereAutolog() bool {
	if x != nil {
		return x.CohereAutolog
	}
	return false
}

func (x *Feature) GetHfPipelineAutolog() bool {
	if x != nil {
		return x.HfPipelineAutolog
	}
	return false
}

func (x *Feature) GetCore() bool {
	if x != nil {
		return x.Core
	}
	return false
}

func (x *Feature) GetLibC() bool {
	if x != nil {
		return x.LibC
	}
	return false
}

func (x *Feature) GetLibCpp() bool {
	if x != nil {
		return x.LibCpp
	}
	return false
}

func (x *Feature) GetOpenaiFinetuning() bool {
	if x != nil {
		return x.OpenaiFinetuning
	}
	return false
}

func (x *Feature) GetDiffusersAutolog() bool {
	if x != nil {
		return x.DiffusersAutolog
	}
	return false
}

func (x *Feature) GetLightningFabricLogger() bool {
	if x != nil {
		return x.LightningFabricLogger
	}
	return false
}

type Env struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Jupyter         bool `protobuf:"varint,1,opt,name=jupyter,proto3" json:"jupyter,omitempty"`                                        // jupyter env detected
	Kaggle          bool `protobuf:"varint,2,opt,name=kaggle,proto3" json:"kaggle,omitempty"`                                          // kaggle env detected
	Windows         bool `protobuf:"varint,3,opt,name=windows,proto3" json:"windows,omitempty"`                                        // windows detected
	M1Gpu           bool `protobuf:"varint,4,opt,name=m1_gpu,json=m1Gpu,proto3" json:"m1_gpu,omitempty"`                               // apple silicon M1 gpu found
	StartSpawn      bool `protobuf:"varint,5,opt,name=start_spawn,json=startSpawn,proto3" json:"start_spawn,omitempty"`                // multiprocessing spawn
	StartFork       bool `protobuf:"varint,6,opt,name=start_fork,json=startFork,proto3" json:"start_fork,omitempty"`                   // multiprocessing fork
	StartForkserver bool `protobuf:"varint,7,opt,name=start_forkserver,json=startForkserver,proto3" json:"start_forkserver,omitempty"` // multiprocessing forkserver
	StartThread     bool `protobuf:"varint,8,opt,name=start_thread,json=startThread,proto3" json:"start_thread,omitempty"`             // thread start method
	MaybeMp         bool `protobuf:"varint,9,opt,name=maybe_mp,json=maybeMp,proto3" json:"maybe_mp,omitempty"`                         // maybe user running multiprocessing
	Trainium        bool `protobuf:"varint,10,opt,name=trainium,proto3" json:"trainium,omitempty"`                                     // AWS Trainium env detected
	Pex             bool `protobuf:"varint,11,opt,name=pex,proto3" json:"pex,omitempty"`                                               // pex env detected
	Colab           bool `protobuf:"varint,12,opt,name=colab,proto3" json:"colab,omitempty"`                                           // colab env detected
	Ipython         bool `protobuf:"varint,13,opt,name=ipython,proto3" json:"ipython,omitempty"`                                       // ipython env detected
	AwsLambda       bool `protobuf:"varint,14,opt,name=aws_lambda,json=awsLambda,proto3" json:"aws_lambda,omitempty"`                  // running in AWS Lambda
	AmdGpu          bool `protobuf:"varint,15,opt,name=amd_gpu,json=amdGpu,proto3" json:"amd_gpu,omitempty"`                           // AMD GPU detected
}

func (x *Env) Reset() {
	*x = Env{}
	if protoimpl.UnsafeEnabled {
		mi := &file_wandb_proto_wandb_telemetry_proto_msgTypes[4]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Env) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Env) ProtoMessage() {}

func (x *Env) ProtoReflect() protoreflect.Message {
	mi := &file_wandb_proto_wandb_telemetry_proto_msgTypes[4]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Env.ProtoReflect.Descriptor instead.
func (*Env) Descriptor() ([]byte, []int) {
	return file_wandb_proto_wandb_telemetry_proto_rawDescGZIP(), []int{4}
}

func (x *Env) GetJupyter() bool {
	if x != nil {
		return x.Jupyter
	}
	return false
}

func (x *Env) GetKaggle() bool {
	if x != nil {
		return x.Kaggle
	}
	return false
}

func (x *Env) GetWindows() bool {
	if x != nil {
		return x.Windows
	}
	return false
}

func (x *Env) GetM1Gpu() bool {
	if x != nil {
		return x.M1Gpu
	}
	return false
}

func (x *Env) GetStartSpawn() bool {
	if x != nil {
		return x.StartSpawn
	}
	return false
}

func (x *Env) GetStartFork() bool {
	if x != nil {
		return x.StartFork
	}
	return false
}

func (x *Env) GetStartForkserver() bool {
	if x != nil {
		return x.StartForkserver
	}
	return false
}

func (x *Env) GetStartThread() bool {
	if x != nil {
		return x.StartThread
	}
	return false
}

func (x *Env) GetMaybeMp() bool {
	if x != nil {
		return x.MaybeMp
	}
	return false
}

func (x *Env) GetTrainium() bool {
	if x != nil {
		return x.Trainium
	}
	return false
}

func (x *Env) GetPex() bool {
	if x != nil {
		return x.Pex
	}
	return false
}

func (x *Env) GetColab() bool {
	if x != nil {
		return x.Colab
	}
	return false
}

func (x *Env) GetIpython() bool {
	if x != nil {
		return x.Ipython
	}
	return false
}

func (x *Env) GetAwsLambda() bool {
	if x != nil {
		return x.AwsLambda
	}
	return false
}

func (x *Env) GetAmdGpu() bool {
	if x != nil {
		return x.AmdGpu
	}
	return false
}

type Labels struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	CodeString  string `protobuf:"bytes,1,opt,name=code_string,json=codeString,proto3" json:"code_string,omitempty"`    // code identification
	RepoString  string `protobuf:"bytes,2,opt,name=repo_string,json=repoString,proto3" json:"repo_string,omitempty"`    // repo identification
	CodeVersion string `protobuf:"bytes,3,opt,name=code_version,json=codeVersion,proto3" json:"code_version,omitempty"` // code version
}

func (x *Labels) Reset() {
	*x = Labels{}
	if protoimpl.UnsafeEnabled {
		mi := &file_wandb_proto_wandb_telemetry_proto_msgTypes[5]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Labels) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Labels) ProtoMessage() {}

func (x *Labels) ProtoReflect() protoreflect.Message {
	mi := &file_wandb_proto_wandb_telemetry_proto_msgTypes[5]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Labels.ProtoReflect.Descriptor instead.
func (*Labels) Descriptor() ([]byte, []int) {
	return file_wandb_proto_wandb_telemetry_proto_rawDescGZIP(), []int{5}
}

func (x *Labels) GetCodeString() string {
	if x != nil {
		return x.CodeString
	}
	return ""
}

func (x *Labels) GetRepoString() string {
	if x != nil {
		return x.RepoString
	}
	return ""
}

func (x *Labels) GetCodeVersion() string {
	if x != nil {
		return x.CodeVersion
	}
	return ""
}

type Deprecated struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	KerasCallback_DataType  bool `protobuf:"varint,1,opt,name=keras_callback__data_type,json=kerasCallbackDataType,proto3" json:"keras_callback__data_type,omitempty"`    // wandb.keras.WandbCallback(data_type=...) called
	Run_Mode                bool `protobuf:"varint,2,opt,name=run__mode,json=runMode,proto3" json:"run__mode,omitempty"`                                                  // wandb.run.mode called
	Run_SaveNoArgs          bool `protobuf:"varint,3,opt,name=run__save_no_args,json=runSaveNoArgs,proto3" json:"run__save_no_args,omitempty"`                            // wandb.run.save() called without arguments
	Run_Join                bool `protobuf:"varint,4,opt,name=run__join,json=runJoin,proto3" json:"run__join,omitempty"`                                                  // wandb.run.join() called
	Plots                   bool `protobuf:"varint,5,opt,name=plots,proto3" json:"plots,omitempty"`                                                                       // wandb.plots.* called
	Run_LogSync             bool `protobuf:"varint,6,opt,name=run__log_sync,json=runLogSync,proto3" json:"run__log_sync,omitempty"`                                       // wandb.run.log(sync=...) called
	Init_ConfigIncludeKeys  bool `protobuf:"varint,7,opt,name=init__config_include_keys,json=initConfigIncludeKeys,proto3" json:"init__config_include_keys,omitempty"`    // wandb.init(config_include_keys=...) called
	Init_ConfigExcludeKeys  bool `protobuf:"varint,8,opt,name=init__config_exclude_keys,json=initConfigExcludeKeys,proto3" json:"init__config_exclude_keys,omitempty"`    // wandb.init(config_exclude_keys=...) called
	KerasCallback_SaveModel bool `protobuf:"varint,9,opt,name=keras_callback__save_model,json=kerasCallbackSaveModel,proto3" json:"keras_callback__save_model,omitempty"` // wandb.keras.WandbCallback(save_model=True) called
	LangchainTracer         bool `protobuf:"varint,10,opt,name=langchain_tracer,json=langchainTracer,proto3" json:"langchain_tracer,omitempty"`                           // wandb.integration.langchain.WandbTracer called
}

func (x *Deprecated) Reset() {
	*x = Deprecated{}
	if protoimpl.UnsafeEnabled {
		mi := &file_wandb_proto_wandb_telemetry_proto_msgTypes[6]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Deprecated) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Deprecated) ProtoMessage() {}

func (x *Deprecated) ProtoReflect() protoreflect.Message {
	mi := &file_wandb_proto_wandb_telemetry_proto_msgTypes[6]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Deprecated.ProtoReflect.Descriptor instead.
func (*Deprecated) Descriptor() ([]byte, []int) {
	return file_wandb_proto_wandb_telemetry_proto_rawDescGZIP(), []int{6}
}

func (x *Deprecated) GetKerasCallback_DataType() bool {
	if x != nil {
		return x.KerasCallback_DataType
	}
	return false
}

func (x *Deprecated) GetRun_Mode() bool {
	if x != nil {
		return x.Run_Mode
	}
	return false
}

func (x *Deprecated) GetRun_SaveNoArgs() bool {
	if x != nil {
		return x.Run_SaveNoArgs
	}
	return false
}

func (x *Deprecated) GetRun_Join() bool {
	if x != nil {
		return x.Run_Join
	}
	return false
}

func (x *Deprecated) GetPlots() bool {
	if x != nil {
		return x.Plots
	}
	return false
}

func (x *Deprecated) GetRun_LogSync() bool {
	if x != nil {
		return x.Run_LogSync
	}
	return false
}

func (x *Deprecated) GetInit_ConfigIncludeKeys() bool {
	if x != nil {
		return x.Init_ConfigIncludeKeys
	}
	return false
}

func (x *Deprecated) GetInit_ConfigExcludeKeys() bool {
	if x != nil {
		return x.Init_ConfigExcludeKeys
	}
	return false
}

func (x *Deprecated) GetKerasCallback_SaveModel() bool {
	if x != nil {
		return x.KerasCallback_SaveModel
	}
	return false
}

func (x *Deprecated) GetLangchainTracer() bool {
	if x != nil {
		return x.LangchainTracer
	}
	return false
}

type Issues struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Settings_ValidationWarnings    bool `protobuf:"varint,1,opt,name=settings__validation_warnings,json=settingsValidationWarnings,proto3" json:"settings__validation_warnings,omitempty"`          // validation warnings for settings
	Settings_UnexpectedArgs        bool `protobuf:"varint,2,opt,name=settings__unexpected_args,json=settingsUnexpectedArgs,proto3" json:"settings__unexpected_args,omitempty"`                      // unexpected settings init args
	Settings_PreprocessingWarnings bool `protobuf:"varint,3,opt,name=settings__preprocessing_warnings,json=settingsPreprocessingWarnings,proto3" json:"settings__preprocessing_warnings,omitempty"` // settings preprocessing warnings
}

func (x *Issues) Reset() {
	*x = Issues{}
	if protoimpl.UnsafeEnabled {
		mi := &file_wandb_proto_wandb_telemetry_proto_msgTypes[7]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Issues) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Issues) ProtoMessage() {}

func (x *Issues) ProtoReflect() protoreflect.Message {
	mi := &file_wandb_proto_wandb_telemetry_proto_msgTypes[7]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Issues.ProtoReflect.Descriptor instead.
func (*Issues) Descriptor() ([]byte, []int) {
	return file_wandb_proto_wandb_telemetry_proto_rawDescGZIP(), []int{7}
}

func (x *Issues) GetSettings_ValidationWarnings() bool {
	if x != nil {
		return x.Settings_ValidationWarnings
	}
	return false
}

func (x *Issues) GetSettings_UnexpectedArgs() bool {
	if x != nil {
		return x.Settings_UnexpectedArgs
	}
	return false
}

func (x *Issues) GetSettings_PreprocessingWarnings() bool {
	if x != nil {
		return x.Settings_PreprocessingWarnings
	}
	return false
}

var File_wandb_proto_wandb_telemetry_proto protoreflect.FileDescriptor

var file_wandb_proto_wandb_telemetry_proto_rawDesc = []byte{
	0x0a, 0x21, 0x77, 0x61, 0x6e, 0x64, 0x62, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x77, 0x61,
	0x6e, 0x64, 0x62, 0x5f, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x12, 0x0e, 0x77, 0x61, 0x6e, 0x64, 0x62, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72,
	0x6e, 0x61, 0x6c, 0x1a, 0x1c, 0x77, 0x61, 0x6e, 0x64, 0x62, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x2f, 0x77, 0x61, 0x6e, 0x64, 0x62, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x22, 0xec, 0x04, 0x0a, 0x0f, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x52,
	0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x3a, 0x0a, 0x0c, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73,
	0x5f, 0x69, 0x6e, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x77, 0x61,
	0x6e, 0x64, 0x62, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x49, 0x6d, 0x70,
	0x6f, 0x72, 0x74, 0x73, 0x52, 0x0b, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x49, 0x6e, 0x69,
	0x74, 0x12, 0x3e, 0x0a, 0x0e, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x5f, 0x66, 0x69, 0x6e,
	0x69, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x77, 0x61, 0x6e, 0x64,
	0x62, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72,
	0x74, 0x73, 0x52, 0x0d, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x46, 0x69, 0x6e, 0x69, 0x73,
	0x68, 0x12, 0x31, 0x0a, 0x07, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x17, 0x2e, 0x77, 0x61, 0x6e, 0x64, 0x62, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72,
	0x6e, 0x61, 0x6c, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x07, 0x66, 0x65, 0x61,
	0x74, 0x75, 0x72, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x5f, 0x76,
	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x79,
	0x74, 0x68, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x63,
	0x6c, 0x69, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0a, 0x63, 0x6c, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x13,
	0x68, 0x75, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x66, 0x61, 0x63, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73,
	0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x68, 0x75, 0x67, 0x67, 0x69,
	0x6e, 0x67, 0x66, 0x61, 0x63, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a,
	0x03, 0x65, 0x6e, 0x76, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x77, 0x61, 0x6e,
	0x64, 0x62, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x45, 0x6e, 0x76, 0x52,
	0x03, 0x65, 0x6e, 0x76, 0x12, 0x2c, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x09, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x77, 0x61, 0x6e, 0x64, 0x62, 0x5f, 0x69, 0x6e, 0x74, 0x65,
	0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x05, 0x6c, 0x61, 0x62,
	0x65, 0x6c, 0x12, 0x3a, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64,
	0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x77, 0x61, 0x6e, 0x64, 0x62, 0x5f, 0x69,
	0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74,
	0x65, 0x64, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x2e,
	0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16,
	0x2e, 0x77, 0x61, 0x6e, 0x64, 0x62, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e,
	0x49, 0x73, 0x73, 0x75, 0x65, 0x73, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x73, 0x12, 0x21,
	0x0a, 0x0c, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0c,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x72, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
	0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x0d, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x31, 0x0a,
	0x05, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e,
	0x77, 0x61, 0x6e, 0x64, 0x62, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x5f,
	0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f,
	0x22, 0x11, 0x0a, 0x0f, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73,
	0x75, 0x6c, 0x74, 0x22, 0xa6, 0x15, 0x0a, 0x07, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12,
	0x14, 0x0a, 0x05, 0x74, 0x6f, 0x72, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05,
	0x74, 0x6f, 0x72, 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x6b, 0x65, 0x72, 0x61, 0x73, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x6b, 0x65, 0x72, 0x61, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x74,
	0x65, 0x6e, 0x73, 0x6f, 0x72, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52,
	0x0a, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x16, 0x0a, 0x06, 0x66,
	0x61, 0x73, 0x74, 0x61, 0x69, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x66, 0x61, 0x73,
	0x74, 0x61, 0x69, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x6b, 0x6c, 0x65, 0x61, 0x72, 0x6e, 0x18, 0x05,
	0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x6b, 0x6c, 0x65, 0x61, 0x72, 0x6e, 0x12, 0x18, 0x0a,
	0x07, 0x78, 0x67, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07,
	0x78, 0x67, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x62, 0x6f,
	0x6f, 0x73, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x63, 0x61, 0x74, 0x62, 0x6f,
	0x6f, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x67, 0x62, 0x6d, 0x18,
	0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x67, 0x62, 0x6d, 0x12,
	0x2b, 0x0a, 0x11, 0x70, 0x79, 0x74, 0x6f, 0x72, 0x63, 0x68, 0x5f, 0x6c, 0x69, 0x67, 0x68, 0x74,
	0x6e, 0x69, 0x6e, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x70, 0x79, 0x74, 0x6f,
	0x72, 0x63, 0x68, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06,
	0x69, 0x67, 0x6e, 0x69, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x67,
	0x6e, 0x69, 0x74, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72,
	0x6d, 0x65, 0x72, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e,
	0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x6a, 0x61, 0x78, 0x18,
	0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x6a, 0x61, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65,
	0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6d, 0x65,
	0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x6e,
	0x6c, 0x70, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x6e,
	0x6c, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x6f, 0x67, 0x6c, 0x75, 0x6f, 0x6e, 0x18,
	0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x75, 0x74, 0x6f, 0x67, 0x6c, 0x75, 0x6f, 0x6e,
	0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x6f, 0x6b, 0x65, 0x72, 0x61, 0x73, 0x18, 0x10, 0x20,
	0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x75, 0x74, 0x6f, 0x6b, 0x65, 0x72, 0x61, 0x73, 0x12, 0x1a,
	0x0a, 0x08, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x79, 0x73, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08,
	0x52, 0x08, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x79, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65,
	0x65, 0x70, 0x63, 0x68, 0x65, 0x6d, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x64, 0x65,
	0x65, 0x70, 0x63, 0x68, 0x65, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x65, 0x70, 0x63, 0x74,
	0x72, 0x18, 0x16, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x64, 0x65, 0x65, 0x70, 0x63, 0x74, 0x72,
	0x12, 0x18, 0x0a, 0x07, 0x70, 0x79, 0x63, 0x61, 0x72, 0x65, 0x74, 0x18, 0x1c, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x07, 0x70, 0x79, 0x63, 0x61, 0x72, 0x65, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x79,
	0x74, 0x6f, 0x72, 0x63, 0x68, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x08,
	0x52, 0x0c, 0x70, 0x79, 0x74, 0x6f, 0x72, 0x63, 0x68, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x12, 0x10,
	0x0a, 0x03, 0x72, 0x61, 0x79, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x72, 0x61, 0x79,
	0x12, 0x2e, 0x0a, 0x12, 0x73, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66,
	0x6f, 0x72, 0x6d, 0x65, 0x72, 0x73, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x73, 0x69,
	0x6d, 0x70, 0x6c, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x73,
	0x12, 0x16, 0x0a, 0x06, 0x73, 0x6b, 0x6f, 0x72, 0x63, 0x68, 0x18, 0x20, 0x20, 0x01, 0x28, 0x08,
	0x52, 0x06, 0x73, 0x6b, 0x6f, 0x72, 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x70, 0x61, 0x63,
	0x79, 0x18, 0x21, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x73, 0x70, 0x61, 0x63, 0x79, 0x12, 0x14,
	0x0a, 0x05, 0x66, 0x6c, 0x61, 0x73, 0x68, 0x18, 0x22, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66,
	0x6c, 0x61, 0x73, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x70, 0x74, 0x75, 0x6e, 0x61, 0x18, 0x23,
	0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x6f, 0x70, 0x74, 0x75, 0x6e, 0x61, 0x12, 0x18, 0x0a, 0x07,
	0x72, 0x65, 0x63, 0x62, 0x6f, 0x6c, 0x65, 0x18, 0x24, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x72,
	0x65, 0x63, 0x62, 0x6f, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x6d, 0x63, 0x76, 0x18, 0x25,
	0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x6d, 0x6d, 0x63, 0x76, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6d,
	0x64, 0x65, 0x74, 0x18, 0x26, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x6d, 0x6d, 0x64, 0x65, 0x74,
	0x12, 0x1c, 0x0a, 0x09, 0x74, 0x6f, 0x72, 0x63, 0x68, 0x64, 0x72, 0x75, 0x67, 0x18, 0x27, 0x20,
	0x01, 0x28, 0x08, 0x52, 0x09, 0x74, 0x6f, 0x72, 0x63, 0x68, 0x64, 0x72, 0x75, 0x67, 0x12, 0x1c,
	0x0a, 0x09, 0x74, 0x6f, 0x72, 0x63, 0x68, 0x74, 0x65, 0x78, 0x74, 0x18, 0x28, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x09, 0x74, 0x6f, 0x72, 0x63, 0x68, 0x74, 0x65, 0x78, 0x74, 0x12, 0x20, 0x0a, 0x0b,
	0x74, 0x6f, 0x72, 0x63, 0x68, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x29, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x0b, 0x74, 0x6f, 0x72, 0x63, 0x68, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x14,
	0x0a, 0x05, 0x65, 0x6c, 0x65, 0x67, 0x79, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x65,
	0x6c, 0x65, 0x67, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x72, 0x6f,
	0x6e, 0x32, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74,
	0x72, 0x6f, 0x6e, 0x32, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x69, 0x72, 0x18, 0x2c, 0x20,
	0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x69, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x6c,
	0x61, 0x78, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x66, 0x6c, 0x61, 0x78, 0x12, 0x12,
	0x0a, 0x04, 0x73, 0x79, 0x66, 0x74, 0x18, 0x2e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x73, 0x79,
	0x66, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x54, 0x54, 0x53, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x08, 0x52,
	0x03, 0x54, 0x54, 0x53, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6f, 0x6e, 0x61, 0x69, 0x18, 0x30, 0x20,
	0x01, 0x28, 0x08, 0x52, 0x05, 0x6d, 0x6f, 0x6e, 0x61, 0x69, 0x12, 0x27, 0x0a, 0x0f, 0x68, 0x75,
	0x67, 0x67, 0x69, 0x6e, 0x67, 0x66, 0x61, 0x63, 0x65, 0x5f, 0x68, 0x75, 0x62, 0x18, 0x31, 0x20,
	0x01, 0x28, 0x08, 0x52, 0x0e, 0x68, 0x75, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x66, 0x61, 0x63, 0x65,
	0x48, 0x75, 0x62, 0x12, 0x14, 0x0a, 0x05, 0x68, 0x79, 0x64, 0x72, 0x61, 0x18, 0x32, 0x20, 0x01,
	0x28, 0x08, 0x52, 0x05, 0x68, 0x79, 0x64, 0x72, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x61, 0x74,
	0x61, 0x73, 0x65, 0x74, 0x73, 0x18, 0x33, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x64, 0x61, 0x74,
	0x61, 0x73, 0x65, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x61, 0x63, 0x72, 0x65, 0x64, 0x18,
	0x34, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x61, 0x63, 0x72, 0x65, 0x64, 0x12, 0x16, 0x0a,
	0x06, 0x6a, 0x6f, 0x62, 0x6c, 0x69, 0x62, 0x18, 0x35, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x6a,
	0x6f, 0x62, 0x6c, 0x69, 0x62, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x73, 0x6b, 0x18, 0x36, 0x20,
	0x01, 0x28, 0x08, 0x52, 0x04, 0x64, 0x61, 0x73, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x73, 0x79,
	0x6e, 0x63, 0x69, 0x6f, 0x18, 0x37, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x61, 0x73, 0x79, 0x6e,
	0x63, 0x69, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x64, 0x64, 0x6c, 0x65, 0x6f, 0x63, 0x72,
	0x18, 0x38, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x70, 0x61, 0x64, 0x64, 0x6c, 0x65, 0x6f, 0x63,
	0x72, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x70, 0x64, 0x65, 0x74, 0x18, 0x39, 0x20, 0x01, 0x28, 0x08,
	0x52, 0x05, 0x70, 0x70, 0x64, 0x65, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x64, 0x64, 0x6c,
	0x65, 0x73, 0x65, 0x67, 0x18, 0x3a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x70, 0x61, 0x64, 0x64,
	0x6c, 0x65, 0x73, 0x65, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x64, 0x64, 0x6c, 0x65, 0x6e,
	0x6c, 0x70, 0x18, 0x3b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x70, 0x61, 0x64, 0x64, 0x6c, 0x65,
	0x6e, 0x6c, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6d, 0x73, 0x65, 0x67, 0x18, 0x3c, 0x20, 0x01,
	0x28, 0x08, 0x52, 0x05, 0x6d, 0x6d, 0x73, 0x65, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6d, 0x6f,
	0x63, 0x72, 0x18, 0x3d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x6d, 0x6d, 0x6f, 0x63, 0x72, 0x12,
	0x14, 0x0a, 0x05, 0x6d, 0x6d, 0x63, 0x6c, 0x73, 0x18, 0x3e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05,
	0x6d, 0x6d, 0x63, 0x6c, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x6d, 0x18, 0x3f, 0x20,
	0x01, 0x28, 0x08, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x61, 0x69,
	0x72, 0x73, 0x65, 0x71, 0x18, 0x40, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x66, 0x61, 0x69, 0x72,
	0x73, 0x65, 0x71, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x65, 0x70, 0x63, 0x68, 0x65, 0x63, 0x6b,
	0x73, 0x18, 0x41, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x64, 0x65, 0x65, 0x70, 0x63, 0x68, 0x65,
	0x63, 0x6b, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x18,
	0x42, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x12,
	0x1a, 0x0a, 0x08, 0x73, 0x70, 0x61, 0x72, 0x73, 0x65, 0x6d, 0x6c, 0x18, 0x43, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x08, 0x73, 0x70, 0x61, 0x72, 0x73, 0x65, 0x6d, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x61,
	0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x69, 0x62, 0x18, 0x44, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x61,
	0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x69, 0x62, 0x12, 0x14, 0x0a, 0x05, 0x7a, 0x65, 0x6e, 0x6d, 0x6c,
	0x18, 0x45, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x7a, 0x65, 0x6e, 0x6d, 0x6c, 0x12, 0x1e, 0x0a,
	0x0a, 0x63, 0x6f, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x6c, 0x61, 0x69, 0x18, 0x46, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x6c, 0x61, 0x69, 0x12, 0x1e, 0x0a,
	0x0a, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x65, 0x18, 0x47, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a,
	0x06, 0x6d, 0x65, 0x72, 0x6c, 0x69, 0x6e, 0x18, 0x48, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x6d,
	0x65, 0x72, 0x6c, 0x69, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x61, 0x6e, 0x6f, 0x64, 0x65, 0x74,
	0x18, 0x49, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x6e, 0x61, 0x6e, 0x6f, 0x64, 0x65, 0x74, 0x12,
	0x3e, 0x0a, 0x1b, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
	0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x5f, 0x70, 0x79, 0x74, 0x6f, 0x72, 0x63, 0x68, 0x18, 0x4a,
	0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x50, 0x79, 0x74, 0x6f, 0x72, 0x63, 0x68, 0x12,
	0x33, 0x0a, 0x15, 0x73, 0x65, 0x6e, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x6e,
	0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x73, 0x18, 0x4b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14,
	0x73, 0x65, 0x6e, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72,
	0x6d, 0x65, 0x72, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x67, 0x6c, 0x18, 0x4c, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x03, 0x64, 0x67, 0x6c, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x6f, 0x72, 0x63, 0x68, 0x5f,
	0x67, 0x65, 0x6f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x18, 0x4d, 0x20, 0x01, 0x28, 0x08, 0x52,
	0x0e, 0x74, 0x6f, 0x72, 0x63, 0x68, 0x47, 0x65, 0x6f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12,
	0x12, 0x0a, 0x04, 0x6a, 0x69, 0x6e, 0x61, 0x18, 0x4e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x6a,
	0x69, 0x6e, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x6b, 0x6f, 0x72, 0x6e, 0x69, 0x61, 0x18, 0x4f, 0x20,
	0x01, 0x28, 0x08, 0x52, 0x06, 0x6b, 0x6f, 0x72, 0x6e, 0x69, 0x61, 0x12, 0x26, 0x0a, 0x0e, 0x61,
	0x6c, 0x62, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x50, 0x20,
	0x01, 0x28, 0x08, 0x52, 0x0e, 0x61, 0x6c, 0x62, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6b, 0x65, 0x72, 0x61, 0x73, 0x5f, 0x63, 0x76, 0x18,
	0x51, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x6b, 0x65, 0x72, 0x61, 0x73, 0x43, 0x76, 0x12, 0x1a,
	0x0a, 0x08, 0x6d, 0x6d, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x18, 0x52, 0x20, 0x01, 0x28, 0x08,
	0x52, 0x08, 0x6d, 0x6d, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69,
	0x66, 0x66, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, 0x53, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x64,
	0x69, 0x66, 0x66, 0x75, 0x73, 0x65, 0x72, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x72, 0x6c, 0x18,
	0x54, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x74, 0x72, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x72,
	0x6c, 0x78, 0x18, 0x55, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x74, 0x72, 0x6c, 0x78, 0x12, 0x1c,
	0x0a, 0x09, 0x6c, 0x61, 0x6e, 0x67, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x18, 0x56, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x09, 0x6c, 0x61, 0x6e, 0x67, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x1f, 0x0a, 0x0b,
	0x6c, 0x6c, 0x61, 0x6d, 0x61, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x57, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x0a, 0x6c, 0x6c, 0x61, 0x6d, 0x61, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x23, 0x0a,
	0x0d, 0x73, 0x74, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x64, 0x6b, 0x18, 0x58,
	0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53,
	0x64, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x65, 0x66, 0x65, 0x63, 0x74, 0x18, 0x59, 0x20,
	0x01, 0x28, 0x08, 0x52, 0x07, 0x70, 0x72, 0x65, 0x66, 0x65, 0x63, 0x74, 0x12, 0x1f, 0x0a, 0x0b,
	0x70, 0x72, 0x65, 0x66, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x61, 0x79, 0x18, 0x5a, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x66, 0x65, 0x63, 0x74, 0x52, 0x61, 0x79, 0x12, 0x1a, 0x0a,
	0x08, 0x70, 0x69, 0x6e, 0x65, 0x63, 0x6f, 0x6e, 0x65, 0x18, 0x5b, 0x20, 0x01, 0x28, 0x08, 0x52,
	0x08, 0x70, 0x69, 0x6e, 0x65, 0x63, 0x6f, 0x6e, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x72,
	0x6f, 0x6d, 0x61, 0x64, 0x62, 0x18, 0x5c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x63, 0x68, 0x72,
	0x6f, 0x6d, 0x61, 0x64, 0x62, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74,
	0x65, 0x18, 0x5d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74,
	0x65, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x6c, 0x61, 0x79, 0x65, 0x72,
	0x18, 0x5e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x6c, 0x61,
	0x79, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x69, 0x18, 0x5f, 0x20,
	0x01, 0x28, 0x08, 0x52, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x69, 0x12, 0x16, 0x0a, 0x06, 0x63,
	0x6f, 0x68, 0x65, 0x72, 0x65, 0x18, 0x60, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x63, 0x6f, 0x68,
	0x65, 0x72, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x6e, 0x74, 0x68, 0x72, 0x6f, 0x70, 0x69, 0x63,
	0x18, 0x61, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x6e, 0x74, 0x68, 0x72, 0x6f, 0x70, 0x69,
	0x63, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x65, 0x66, 0x74, 0x18, 0x62, 0x20, 0x01, 0x28, 0x08, 0x52,
	0x04, 0x70, 0x65, 0x66, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x75, 0x6d,
	0x18, 0x63, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x75, 0x6d, 0x12,
	0x1a, 0x0a, 0x08, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x18, 0x64, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x08, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c,
	0x61, 0x6e, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x65, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6c,
	0x61, 0x6e, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x1d, 0x0a, 0x0a, 0x6b, 0x65, 0x72, 0x61, 0x73,
	0x5f, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x66, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6b, 0x65, 0x72,
	0x61, 0x73, 0x43, 0x6f, 0x72, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x6e,
	0x69, 0x6e, 0x67, 0x5f, 0x66, 0x61, 0x62, 0x72, 0x69, 0x63, 0x18, 0x67, 0x20, 0x01, 0x28, 0x08,
	0x52, 0x0f, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x6e, 0x69, 0x6e, 0x67, 0x46, 0x61, 0x62, 0x72, 0x69,
	0x63, 0x12, 0x31, 0x0a, 0x14, 0x63, 0x75, 0x72, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x72, 0x61,
	0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x73, 0x18, 0x68, 0x20, 0x01, 0x28, 0x08, 0x52,
	0x13, 0x63, 0x75, 0x72, 0x61, 0x74, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72,
	0x6d, 0x65, 0x72, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x72, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x69,
	0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x6f, 0x72, 0x6a, 0x73, 0x6f, 0x6e, 0x22, 0xf9, 0x11, 0x0a,
	0x07, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x61, 0x74, 0x63,
	0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x77, 0x61, 0x74, 0x63, 0x68, 0x12, 0x16,
	0x0a, 0x06, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06,
	0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x61, 0x76, 0x65, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x73, 0x61, 0x76, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x66,
	0x66, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x6f, 0x66, 0x66,
	0x6c, 0x69, 0x6e, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x64, 0x18,
	0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x64, 0x12, 0x12,
	0x0a, 0x04, 0x67, 0x72, 0x70, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x67, 0x72,
	0x70, 0x63, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x18, 0x07, 0x20, 0x01,
	0x28, 0x08, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x14, 0x0a, 0x05, 0x6b, 0x65,
	0x72, 0x61, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x6b, 0x65, 0x72, 0x61, 0x73,
	0x12, 0x1c, 0x0a, 0x09, 0x73, 0x61, 0x67, 0x65, 0x6d, 0x61, 0x6b, 0x65, 0x72, 0x18, 0x09, 0x20,
	0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x61, 0x67, 0x65, 0x6d, 0x61, 0x6b, 0x65, 0x72, 0x12, 0x31,
	0x0a, 0x14, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x5f, 0x69, 0x6e, 0x63, 0x72, 0x65,
	0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x61, 0x72,
	0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61,
	0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x0b, 0x20,
	0x01, 0x28, 0x08, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x18, 0x0a,
	0x07, 0x70, 0x72, 0x6f, 0x64, 0x69, 0x67, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07,
	0x70, 0x72, 0x6f, 0x64, 0x69, 0x67, 0x79, 0x12, 0x22, 0x0a, 0x0d, 0x73, 0x65, 0x74, 0x5f, 0x69,
	0x6e, 0x69, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b,
	0x73, 0x65, 0x74, 0x49, 0x6e, 0x69, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0b, 0x73,
	0x65, 0x74, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08,
	0x52, 0x09, 0x73, 0x65, 0x74, 0x49, 0x6e, 0x69, 0x74, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x73,
	0x65, 0x74, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x0f, 0x20, 0x01,
	0x28, 0x08, 0x52, 0x0b, 0x73, 0x65, 0x74, 0x49, 0x6e, 0x69, 0x74, 0x54, 0x61, 0x67, 0x73, 0x12,
	0x26, 0x0a, 0x0f, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66,
	0x69, 0x67, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x65, 0x74, 0x49, 0x6e, 0x69,
	0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x20, 0x0a, 0x0c, 0x73, 0x65, 0x74, 0x5f, 0x72,
	0x75, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x73,
	0x65, 0x74, 0x52, 0x75, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x73, 0x65, 0x74,
	0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52,
	0x0a, 0x73, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x54, 0x61, 0x67, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x73,
	0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x13,
	0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49,
	0x74, 0x65, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x18, 0x14, 0x20,
	0x01, 0x28, 0x08, 0x52, 0x06, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x12, 0x30, 0x0a, 0x14, 0x74,
	0x6f, 0x72, 0x63, 0x68, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x74, 0x72,
	0x61, 0x63, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x74, 0x6f, 0x72, 0x63, 0x68,
	0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x72, 0x54, 0x72, 0x61, 0x63, 0x65, 0x12, 0x10, 0x0a,
	0x03, 0x73, 0x62, 0x33, 0x18, 0x16, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x73, 0x62, 0x33, 0x12,
	0x18, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x08,
	0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x6e, 0x69,
	0x74, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x18, 0x20, 0x01,
	0x28, 0x08, 0x52, 0x0d, 0x69, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x52, 0x75,
	0x6e, 0x12, 0x36, 0x0a, 0x17, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x67, 0x62, 0x6d, 0x5f, 0x77, 0x61,
	0x6e, 0x64, 0x62, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x18, 0x19, 0x20, 0x01,
	0x28, 0x08, 0x52, 0x15, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x67, 0x62, 0x6d, 0x57, 0x61, 0x6e, 0x64,
	0x62, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x30, 0x0a, 0x14, 0x6c, 0x69, 0x67,
	0x68, 0x74, 0x67, 0x62, 0x6d, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72,
	0x79, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x67, 0x62,
	0x6d, 0x4c, 0x6f, 0x67, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x36, 0x0a, 0x17, 0x63,
	0x61, 0x74, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x5f, 0x77, 0x61, 0x6e, 0x64, 0x62, 0x5f, 0x63, 0x61,
	0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x63, 0x61,
	0x74, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x57, 0x61, 0x6e, 0x64, 0x62, 0x43, 0x61, 0x6c, 0x6c, 0x62,
	0x61, 0x63, 0x6b, 0x12, 0x30, 0x0a, 0x14, 0x63, 0x61, 0x74, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x5f,
	0x6c, 0x6f, 0x67, 0x5f, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x1c, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x12, 0x63, 0x61, 0x74, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x4c, 0x6f, 0x67, 0x53, 0x75,
	0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62,
	0x6f, 0x61, 0x72, 0x64, 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e,
	0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x6f, 0x67, 0x12, 0x25,
	0x0a, 0x0e, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x68, 0x6f, 0x6f, 0x6b,
	0x18, 0x1e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x6f,
	0x72, 0x48, 0x6f, 0x6f, 0x6b, 0x12, 0x34, 0x0a, 0x16, 0x78, 0x67, 0x62, 0x6f, 0x6f, 0x73, 0x74,
	0x5f, 0x77, 0x61, 0x6e, 0x64, 0x62, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x18,
	0x1f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x78, 0x67, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x57, 0x61,
	0x6e, 0x64, 0x62, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x3b, 0x0a, 0x1a, 0x78,
	0x67, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x5f, 0x6f, 0x6c, 0x64, 0x5f, 0x77, 0x61, 0x6e, 0x64, 0x62,
	0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x18, 0x20, 0x20, 0x01, 0x28, 0x08, 0x52,
	0x17, 0x78, 0x67, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x4f, 0x6c, 0x64, 0x57, 0x61, 0x6e, 0x64, 0x62,
	0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x74, 0x74, 0x61,
	0x63, 0x68, 0x18, 0x21, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68,
	0x12, 0x2b, 0x0a, 0x11, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f,
	0x70, 0x61, 0x74, 0x63, 0x68, 0x18, 0x22, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x74, 0x65, 0x6e,
	0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x50, 0x61, 0x74, 0x63, 0x68, 0x12, 0x29, 0x0a,
	0x10, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x73, 0x79, 0x6e,
	0x63, 0x18, 0x23, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62,
	0x6f, 0x61, 0x72, 0x64, 0x53, 0x79, 0x6e, 0x63, 0x12, 0x22, 0x0a, 0x0d, 0x6b, 0x66, 0x70, 0x5f,
	0x77, 0x61, 0x6e, 0x64, 0x62, 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0x24, 0x20, 0x01, 0x28, 0x08, 0x52,
	0x0b, 0x6b, 0x66, 0x70, 0x57, 0x61, 0x6e, 0x64, 0x62, 0x4c, 0x6f, 0x67, 0x12, 0x2e, 0x0a, 0x13,
	0x6d, 0x61, 0x79, 0x62, 0x65, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72,
	0x69, 0x74, 0x65, 0x18, 0x25, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x6d, 0x61, 0x79, 0x62, 0x65,
	0x52, 0x75, 0x6e, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x30, 0x0a, 0x14,
	0x6b, 0x65, 0x72, 0x61, 0x73, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x6c, 0x6f,
	0x67, 0x67, 0x65, 0x72, 0x18, 0x26, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x6b, 0x65, 0x72, 0x61,
	0x73, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x4c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x12, 0x34,
	0x0a, 0x16, 0x6b, 0x65, 0x72, 0x61, 0x73, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x63, 0x68,
	0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x27, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14,
	0x6b, 0x65, 0x72, 0x61, 0x73, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x70,
	0x6f, 0x69, 0x6e, 0x74, 0x12, 0x39, 0x0a, 0x19, 0x6b, 0x65, 0x72, 0x61, 0x73, 0x5f, 0x77, 0x61,
	0x6e, 0x64, 0x62, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63,
	0x6b, 0x18, 0x28, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x6b, 0x65, 0x72, 0x61, 0x73, 0x57, 0x61,
	0x6e, 0x64, 0x62, 0x45, 0x76, 0x61, 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x12,
	0x32, 0x0a, 0x15, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f,
	0x6f, 0x76, 0x65, 0x72, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x29, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13,
	0x66, 0x6c, 0x6f, 0x77, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x4f, 0x76, 0x65, 0x72, 0x66,
	0x6c, 0x6f, 0x77, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x79, 0x6e, 0x63, 0x18, 0x2a, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x04, 0x73, 0x79, 0x6e, 0x63, 0x12, 0x32, 0x0a, 0x15, 0x66, 0x6c, 0x6f, 0x77, 0x5f,
	0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64,
	0x18, 0x2b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x66, 0x6c, 0x6f, 0x77, 0x43, 0x6f, 0x6e, 0x74,
	0x72, 0x6f, 0x6c, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x66,
	0x6c, 0x6f, 0x77, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x63, 0x75, 0x73, 0x74,
	0x6f, 0x6d, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x66, 0x6c, 0x6f, 0x77, 0x43, 0x6f,
	0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x12, 0x29, 0x0a, 0x10, 0x73,
	0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18,
	0x2d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x44, 0x69,
	0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x6d,
	0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x2e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x6f, 0x70,
	0x65, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x2d, 0x0a, 0x12, 0x75, 0x6c, 0x74,
	0x72, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x5f, 0x79, 0x6f, 0x6c, 0x6f, 0x76, 0x38, 0x18,
	0x2f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x75, 0x6c, 0x74, 0x72, 0x61, 0x6c, 0x79, 0x74, 0x69,
	0x63, 0x73, 0x59, 0x6f, 0x6c, 0x6f, 0x76, 0x38, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x6d, 0x70, 0x6f,
	0x72, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x6c, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x30, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x0e, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x4d, 0x6c, 0x66, 0x6c, 0x6f,
	0x77, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x74, 0x66, 0x65, 0x76, 0x65, 0x6e,
	0x74, 0x73, 0x18, 0x31, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x73, 0x79, 0x6e, 0x63, 0x54, 0x66,
	0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f,
	0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x18, 0x32, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61,
	0x73, 0x79, 0x6e, 0x63, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x6f,
	0x70, 0x65, 0x6e, 0x61, 0x69, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x18, 0x33, 0x20,
	0x01, 0x28, 0x08, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x69, 0x41, 0x75, 0x74, 0x6f, 0x6c,
	0x6f, 0x67, 0x12, 0x29, 0x0a, 0x10, 0x6c, 0x61, 0x6e, 0x67, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f,
	0x74, 0x72, 0x61, 0x63, 0x65, 0x72, 0x18, 0x34, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x6c, 0x61,
	0x6e, 0x67, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x72, 0x12, 0x25, 0x0a,
	0x0e, 0x63, 0x6f, 0x68, 0x65, 0x72, 0x65, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x18,
	0x35, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x63, 0x6f, 0x68, 0x65, 0x72, 0x65, 0x41, 0x75, 0x74,
	0x6f, 0x6c, 0x6f, 0x67, 0x12, 0x2e, 0x0a, 0x13, 0x68, 0x66, 0x5f, 0x70, 0x69, 0x70, 0x65, 0x6c,
	0x69, 0x6e, 0x65, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x18, 0x36, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x11, 0x68, 0x66, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x41, 0x75, 0x74,
	0x6f, 0x6c, 0x6f, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x37, 0x20, 0x01,
	0x28, 0x08, 0x52, 0x04, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x13, 0x0a, 0x05, 0x6c, 0x69, 0x62, 0x5f,
	0x63, 0x18, 0x38, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x6c, 0x69, 0x62, 0x43, 0x12, 0x17, 0x0a,
	0x07, 0x6c, 0x69, 0x62, 0x5f, 0x63, 0x70, 0x70, 0x18, 0x39, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06,
	0x6c, 0x69, 0x62, 0x43, 0x70, 0x70, 0x12, 0x2b, 0x0a, 0x11, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x69,
	0x5f, 0x66, 0x69, 0x6e, 0x65, 0x74, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x3a, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x10, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x69, 0x46, 0x69, 0x6e, 0x65, 0x74, 0x75, 0x6e,
	0x69, 0x6e, 0x67, 0x12, 0x2b, 0x0a, 0x11, 0x64, 0x69, 0x66, 0x66, 0x75, 0x73, 0x65, 0x72, 0x73,
	0x5f, 0x61, 0x75, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x18, 0x3b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10,
	0x64, 0x69, 0x66, 0x66, 0x75, 0x73, 0x65, 0x72, 0x73, 0x41, 0x75, 0x74, 0x6f, 0x6c, 0x6f, 0x67,
	0x12, 0x36, 0x0a, 0x17, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x61,
	0x62, 0x72, 0x69, 0x63, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x18, 0x3c, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x15, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x6e, 0x69, 0x6e, 0x67, 0x46, 0x61, 0x62, 0x72,
	0x69, 0x63, 0x4c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x22, 0xa7, 0x03, 0x0a, 0x03, 0x45, 0x6e, 0x76,
	0x12, 0x18, 0x0a, 0x07, 0x6a, 0x75, 0x70, 0x79, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x07, 0x6a, 0x75, 0x70, 0x79, 0x74, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x6b, 0x61,
	0x67, 0x67, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x6b, 0x61, 0x67, 0x67,
	0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x08, 0x52, 0x07, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x12, 0x15, 0x0a, 0x06,
	0x6d, 0x31, 0x5f, 0x67, 0x70, 0x75, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x6d, 0x31,
	0x47, 0x70, 0x75, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x73, 0x70, 0x61,
	0x77, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x53,
	0x70, 0x61, 0x77, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x66, 0x6f,
	0x72, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x46,
	0x6f, 0x72, 0x6b, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x66, 0x6f, 0x72,
	0x6b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x73,
	0x74, 0x61, 0x72, 0x74, 0x46, 0x6f, 0x72, 0x6b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x21,
	0x0a, 0x0c, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x18, 0x08,
	0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x68, 0x72, 0x65, 0x61,
	0x64, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x79, 0x62, 0x65, 0x5f, 0x6d, 0x70, 0x18, 0x09, 0x20,
	0x01, 0x28, 0x08, 0x52, 0x07, 0x6d, 0x61, 0x79, 0x62, 0x65, 0x4d, 0x70, 0x12, 0x1a, 0x0a, 0x08,
	0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x75, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08,
	0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x75, 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x65, 0x78, 0x18,
	0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x70, 0x65, 0x78, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f,
	0x6c, 0x61, 0x62, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x61, 0x62,
	0x12, 0x18, 0x0a, 0x07, 0x69, 0x70, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x07, 0x69, 0x70, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x77,
	0x73, 0x5f, 0x6c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09,
	0x61, 0x77, 0x73, 0x4c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x6d, 0x64,
	0x5f, 0x67, 0x70, 0x75, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x61, 0x6d, 0x64, 0x47,
	0x70, 0x75, 0x22, 0x6d, 0x0a, 0x06, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x1f, 0x0a, 0x0b,
	0x63, 0x6f, 0x64, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x0a, 0x63, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x1f, 0x0a,
	0x0b, 0x72, 0x65, 0x70, 0x6f, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x21,
	0x0a, 0x0c, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x64, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
	0x6e, 0x22, 0xbc, 0x03, 0x0a, 0x0a, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64,
	0x12, 0x38, 0x0a, 0x19, 0x6b, 0x65, 0x72, 0x61, 0x73, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x62, 0x61,
	0x63, 0x6b, 0x5f, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x08, 0x52, 0x15, 0x6b, 0x65, 0x72, 0x61, 0x73, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61,
	0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x09, 0x72, 0x75,
	0x6e, 0x5f, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x72,
	0x75, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x28, 0x0a, 0x11, 0x72, 0x75, 0x6e, 0x5f, 0x5f, 0x73,
	0x61, 0x76, 0x65, 0x5f, 0x6e, 0x6f, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x0d, 0x72, 0x75, 0x6e, 0x53, 0x61, 0x76, 0x65, 0x4e, 0x6f, 0x41, 0x72, 0x67, 0x73,
	0x12, 0x1a, 0x0a, 0x09, 0x72, 0x75, 0x6e, 0x5f, 0x5f, 0x6a, 0x6f, 0x69, 0x6e, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x08, 0x52, 0x07, 0x72, 0x75, 0x6e, 0x4a, 0x6f, 0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05,
	0x70, 0x6c, 0x6f, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x70, 0x6c, 0x6f,
	0x74, 0x73, 0x12, 0x21, 0x0a, 0x0d, 0x72, 0x75, 0x6e, 0x5f, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x73,
	0x79, 0x6e, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x72, 0x75, 0x6e, 0x4c, 0x6f,
	0x67, 0x53, 0x79, 0x6e, 0x63, 0x12, 0x38, 0x0a, 0x19, 0x69, 0x6e, 0x69, 0x74, 0x5f, 0x5f, 0x63,
	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x6b, 0x65,
	0x79, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x69, 0x6e, 0x69, 0x74, 0x43, 0x6f,
	0x6e, 0x66, 0x69, 0x67, 0x49, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x12,
	0x38, 0x0a, 0x19, 0x69, 0x6e, 0x69, 0x74, 0x5f, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f,
	0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x08, 0x20, 0x01,
	0x28, 0x08, 0x52, 0x15, 0x69, 0x6e, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x78,
	0x63, 0x6c, 0x75, 0x64, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x3a, 0x0a, 0x1a, 0x6b, 0x65, 0x72,
	0x61, 0x73, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x5f, 0x73, 0x61, 0x76,
	0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x6b,
	0x65, 0x72, 0x61, 0x73, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x53, 0x61, 0x76, 0x65,
	0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x29, 0x0a, 0x10, 0x6c, 0x61, 0x6e, 0x67, 0x63, 0x68, 0x61,
	0x69, 0x6e, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52,
	0x0f, 0x6c, 0x61, 0x6e, 0x67, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x72,
	0x22, 0xcf, 0x01, 0x0a, 0x06, 0x49, 0x73, 0x73, 0x75, 0x65, 0x73, 0x12, 0x41, 0x0a, 0x1d, 0x73,
	0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x5f, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x08, 0x52, 0x1a, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x56, 0x61, 0x6c, 0x69,
	0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x39,
	0x0a, 0x19, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x5f, 0x5f, 0x75, 0x6e, 0x65, 0x78,
	0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x16, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x55, 0x6e, 0x65, 0x78, 0x70,
	0x65, 0x63, 0x74, 0x65, 0x64, 0x41, 0x72, 0x67, 0x73, 0x12, 0x47, 0x0a, 0x20, 0x73, 0x65, 0x74,
	0x74, 0x69, 0x6e, 0x67, 0x73, 0x5f, 0x5f, 0x70, 0x72, 0x65, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73,
	0x73, 0x69, 0x6e, 0x67, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x08, 0x52, 0x1d, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x50, 0x72, 0x65,
	0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e,
	0x67, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}

var (
	file_wandb_proto_wandb_telemetry_proto_rawDescOnce sync.Once
	file_wandb_proto_wandb_telemetry_proto_rawDescData = file_wandb_proto_wandb_telemetry_proto_rawDesc
)

func file_wandb_proto_wandb_telemetry_proto_rawDescGZIP() []byte {
	file_wandb_proto_wandb_telemetry_proto_rawDescOnce.Do(func() {
		file_wandb_proto_wandb_telemetry_proto_rawDescData = protoimpl.X.CompressGZIP(file_wandb_proto_wandb_telemetry_proto_rawDescData)
	})
	return file_wandb_proto_wandb_telemetry_proto_rawDescData
}

var file_wandb_proto_wandb_telemetry_proto_msgTypes = make([]protoimpl.MessageInfo, 8)
var file_wandb_proto_wandb_telemetry_proto_goTypes = []interface{}{
	(*TelemetryRecord)(nil), // 0: wandb_internal.TelemetryRecord
	(*TelemetryResult)(nil), // 1: wandb_internal.TelemetryResult
	(*Imports)(nil),         // 2: wandb_internal.Imports
	(*Feature)(nil),         // 3: wandb_internal.Feature
	(*Env)(nil),             // 4: wandb_internal.Env
	(*Labels)(nil),          // 5: wandb_internal.Labels
	(*Deprecated)(nil),      // 6: wandb_internal.Deprecated
	(*Issues)(nil),          // 7: wandb_internal.Issues
	(*XRecordInfo)(nil),     // 8: wandb_internal._RecordInfo
}
var file_wandb_proto_wandb_telemetry_proto_depIdxs = []int32{
	2, // 0: wandb_internal.TelemetryRecord.imports_init:type_name -> wandb_internal.Imports
	2, // 1: wandb_internal.TelemetryRecord.imports_finish:type_name -> wandb_internal.Imports
	3, // 2: wandb_internal.TelemetryRecord.feature:type_name -> wandb_internal.Feature
	4, // 3: wandb_internal.TelemetryRecord.env:type_name -> wandb_internal.Env
	5, // 4: wandb_internal.TelemetryRecord.label:type_name -> wandb_internal.Labels
	6, // 5: wandb_internal.TelemetryRecord.deprecated:type_name -> wandb_internal.Deprecated
	7, // 6: wandb_internal.TelemetryRecord.issues:type_name -> wandb_internal.Issues
	8, // 7: wandb_internal.TelemetryRecord._info:type_name -> wandb_internal._RecordInfo
	8, // [8:8] is the sub-list for method output_type
	8, // [8:8] is the sub-list for method input_type
	8, // [8:8] is the sub-list for extension type_name
	8, // [8:8] is the sub-list for extension extendee
	0, // [0:8] is the sub-list for field type_name
}

func init() { file_wandb_proto_wandb_telemetry_proto_init() }
func file_wandb_proto_wandb_telemetry_proto_init() {
	if File_wandb_proto_wandb_telemetry_proto != nil {
		return
	}
	file_wandb_proto_wandb_base_proto_init()
	if !protoimpl.UnsafeEnabled {
		file_wandb_proto_wandb_telemetry_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TelemetryRecord); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_wandb_proto_wandb_telemetry_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TelemetryResult); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_wandb_proto_wandb_telemetry_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Imports); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_wandb_proto_wandb_telemetry_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Feature); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_wandb_proto_wandb_telemetry_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Env); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_wandb_proto_wandb_telemetry_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Labels); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_wandb_proto_wandb_telemetry_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Deprecated); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_wandb_proto_wandb_telemetry_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Issues); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_wandb_proto_wandb_telemetry_proto_rawDesc,
			NumEnums:      0,
			NumMessages:   8,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_wandb_proto_wandb_telemetry_proto_goTypes,
		DependencyIndexes: file_wandb_proto_wandb_telemetry_proto_depIdxs,
		MessageInfos:      file_wandb_proto_wandb_telemetry_proto_msgTypes,
	}.Build()
	File_wandb_proto_wandb_telemetry_proto = out.File
	file_wandb_proto_wandb_telemetry_proto_rawDesc = nil
	file_wandb_proto_wandb_telemetry_proto_goTypes = nil
	file_wandb_proto_wandb_telemetry_proto_depIdxs = nil
}
